Ответ 1
Я выпустил бесплатное приложение для защиты от вредоносных программ для Android и убедившись, что никто не взломан, это было важно для его успеха. Самые большие угрозы снова для приложения на Android Market включают пропущенный исходный код, скопированные/распределенные платные приложения и повторную настройку. Я объясняю каждый ниже и способ их решения.
Во-первых, в этой статье описывается, как перепроектировать приложение Android, распаковывая скомпилированный код и просматривая исходный код. Вы не сможете заблокировать это от своего приложения. Период. Кто-то с завещанием всегда может просмотреть ваш исходный код, если он получит копию вашего apk (легко доступен на корневом телефоне). Хорошей новостью является то, что вы можете запутать важные фрагменты своего кода, что затрудняет обратное проектирование. Proguard - это инструмент, предоставляемый Android, который позволяет вам запутывать (сделать более трудным для чтения) ваш код во время упаковки. Однако, чтобы ваш важный код не читался, вам нужно переместить все уязвимые методы или переменные в файл, который не является Activity
, Service
или BroadcastReceiver
. Для получения полной информации ознакомьтесь с документацией.
Чтобы повторно защитить незаконную копию и распространение вашего приложения, Google Play предоставляет некоторые варианты лицензирования. К сожалению, LVL также не совсем безопасен. Подробный HOW-TO для взлома (pre-Google Play) доступен здесь.
Наконец, связанная выше статья, а также многочисленные научные статьи и онлайн-блоги описывают, как, как только исходный код (или даже запутанный исходный код) просочится, однажды можно просто добавить часть своего собственного вредоносного кода, уйти в отставку приложение и опубликуйте его на Android Market. Хорошая новость заключается в том, что, если ваш пароль для доступа к лицензионному ключу Android не может быть легко угадан или если вы передадите его кому-то другому, злоумышленник не сможет опубликовать приложение с тем же лицензионным ключом. Это не только защитит вас от вины, но также сделает так, что вредоносное приложение не сможет получить доступ к данным, доступным через исходное приложение (например, SharedPreferences
).
В целом, лучший способ действительно защитить ваше приложение от пиратства - правильно настроить и использовать Proguard, Google Play Licensure и подписать окончательный apk с очень безопасным лицензионным ключом.