Статьи ⇒ Java ⇒ Защита приложений для Android от взлома

Защита приложений для Android от взлома

Опубликовано: 26 сен 2012 в 14:54
Автор: freeeeez  

В предыдущей статье мы уже поговорили о первой линии обороны при защите приложений для Андроид - обфускации кода. Теперь мы рассмотрим другие методы защиты, которые не позволят злоумышленникам изменить License Verification Library (LVL)

Самым простым и очевидным способом проверки взлома приложения может быть вычисление контрольной суммы, например CRC32. Сохранив ее на сторонний сервер можно проверять по ней контрольную сумму приложения. Путь к файлам можно получить при помощи context.GetApplicationInfo(), чтобы удостовериться, что проверка выполняется не просто для файла содержащего контрольную сумму. Также можно воспользоваться проверкой отладки приложения.

boolean isDebuggable =(0!=( getApplcationInfo().flags &=ApplicationInfo.FLAG_DEBUGGABLE ));

Если приложение используется в онлайне, то лучшей проверкой на лицензию будет ее проверка на стороннем сервере. При входе в приложение на сервер отправляется копия лицензии, содержащая ResponseData вместе с подписью.  

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

При проверке ответа от сервера на уровне приложения проверяется открытый ключ сервера лицензий, легитимность этого ответа, срок действия лицензии и прочие характеристики, позволяющие отличить легального пользователя. Проверить лицензию можно при помощи LicenseValidator.verify()

При такой проверке все следует организовать на высшем уровне. Могут возникнуть случаи, когда легитимным пользователям будет выдаваться ошибка о проверке лицензии. В этом случае необходимо сделать так, чтобы он мог пройти проверку другим способом, загрузив определенные данные в диалоговое окно или подобие. 

Тэги:  • 
Нет комментариев
4 220 просмотров


Оставить комментарий:

Имя:
Email:
Сайт:
Комментарий:

Допустимые теги: <em> • <strong> • <u> • <sub> • <sup> • <blockquote>

Проверочный код:

Введите проверочный код, для подтверждения, что вы не робот.
P.S. Если вы робот, то, к сожалению, вы
не сможете прочитать символы с картинки.