Ловушки защиты от копирования
Как раз выпустить бесплатную версию моего приложения, и я смотрю на свободную модель, чтобы дать дополнительные возможности пользователям. Тем не менее, я определенно обеспокоен тем, что я слишком быстро пиратствовал, чтобы я мог что-то сделать.
Есть ли у кого-нибудь качественные методы защиты от копирования для Android? И я не говорю о pos LVL, который предоставляется. Я ищу некоторые скрытые ловушки, чтобы определить, был ли мой код изменен. Любые идеи приветствуются; нужно сделать это достаточно сложно, чтобы его просто не стоило.
Ответы
Ответ 1
Он будет получать пиратский, только если он популярен, поэтому вам предстоит долгий путь:). Как правило, обфускация вашего кода, не используйте LVL, поскольку есть инструменты, которые автоматически отключают его. Не знаете, какова ваша идея "скрытой ловушки", но смотрите этот для некоторых идей о том, как защитить ваше приложение.
Это упоминается в видео, но:
- используйте ProGuard для обфускации вашего кода.
- чтобы определить, был ли изменен ваш код, вы можете проверить CRC классов .dex или проверить, подписан ли APK с вашим сертификатом (если кто-то изменит ваш код, ему придется уйти в отставку). Однако антивирусный инструмент эффективно отключает API-интерфейсы, которые вы использовали бы для проверки подделки. Поэтому вам нужно сделать это в собственном коде, если вы хотите, чтобы он был эффективным.
- не выполняйте свои проверки при запуске, но позже, поэтому их сложнее обнаружить.
- если возможно, иметь компонент на стороне сервера для проверки вашей лицензии/фальсификации. Подумайте о том, как ваше приложение должно вести себя, если нет сетевого подключения. Ответы сервера кэша? Как долго? Запретить доступ прямо сейчас? Разрешить доступ всегда?, и т.д.
Ответ 2
Защита всегда может быть нарушена, все, что вы можете сделать, это сделать ее труднее сломать.
Что-то, что вы могли бы сделать, это написать некоторые важные части вашего кода в C и вызвать его через NDK. Затем вы можете провести там некоторое тестирование, потому что декомпиляция части C будет намного сложнее декомпиляции байт-кода.
Ответ 3
Вы можете использовать ProGuard в eclipse для обфускации вашего кода. Он оптимизирует и обфускает ваш код, удаляя неиспользуемый код и переименовывая классы, поля и методы с семантически неясными именами. В результате получается меньший размер .apk файла, который сложнее перестроить. Таким образом, ваш код будет более защищенным.
Ссылка: developer.android