Windows Phone 7 Обфускация кода приложения - PullRequest
2 голосов
/ 20 августа 2011

Готов завершить приложение wp7, которое использует картографические сервисы Bing для локаций и т. Д. Мне нужно знать, не повлияет ли обфускация на его производительность.

Существуют некоторые инструменты, такие как Dotfuscator и т. Д., Но они обеспокоены производительностьюприложения.Пожалуйста, дайте ваши предложения

Ответы [ 3 ]

4 голосов
/ 20 августа 2011

У меня нет большого опыта с запутыванием, однако я знаю, что есть два метода.

  1. Простое переименование переменных и функций, чтобы затруднить чтение логики при декомпиляции с использованием Reflector;и
  2. Другой, где поток программы должен быть переставлен.

При обфускации имени код IL и производительность во время выполнения остаются одинаковыми.Очевидно, есть разница в производительности со вторым методом, однако единственные тесты / статьи, которые я могу найти, для Java.

Вы развертываете на защищенном устройстве и файловой системе , поэтому нет необходимости запутывать приложение WP7 .Как указал Крис, вы можете получить файл пакета приложения, перехватив HTTP-запрос с рынка и извлекая GUID, как подробно описано в сообщении в блоге Мариуса Георге .Как объясняет Мариус, это связано с тем, что поток XML не зашифрован и сборочный пакет может быть получен с помощью простого запроса.Я ожидаю, что Microsoft исправит / исправит это в ближайшее время (и я упомяну об этом нашему менеджеру по работе с клиентами Microsoft).

Что касается обфускации WP7, здесь есть подробное сообщение в блоге , которое должно помочь.

...

Если вы хотите обезопасить свое приложение, я бы потратил время на шифрование ваших постоянных данных (т. Е. Сохранение файлов), чтобы обеспечить безопасность данных ваших пользователей.Именно это и было сделано в игре WP7 Full House Poker .

4 голосов
/ 20 августа 2011

Есть только один способ быть уверенным: вы должны проверить.

Вероятно, запутывание не сильно повлияет на производительность, но, опять же, вы должны проверить.

РЕДАКТИРОВАТЬ

Прежде чем запутывать, поймите, что запутывание - это не то же самое, что шифрование.Никогда не храните какие-либо секреты в своем коде на стороне клиента!

0 голосов
/ 23 августа 2011

Производительность снижается, но игнорируется, если вы измеряете в миллисекундах, суть в том, что вы можете не запутывать, если создаете бесплатное приложение или с открытым исходным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...