Итак, мы уже проходили через это несколько раз, мы выпускаем игру (для дешевых), и кто-то взламывает ее и ставит на зеркало. Мы настраиваем Оповещения Google для всех наших приложений, поэтому нам ежедневно сообщают, кто занимается взломом. До сих пор мы внедрили службу лицензирования, как предположил Google, наша соль создается случайным образом при каждом запуске лицензии с уникальным идентификатором устройства. Мы запускаем сервис проверки один раз, когда приложение запускается впервые. Затем мы генерируем 512-символьный хэш для ключа и сохраненное значение, которое затем сравнивается с SharedPreferences.
Теперь я знаю, что при однократной проверке приложение блокируется. Наш байт-код, скорее всего, был просмотрен и перекомпилирован без строки, которая инициирует проверку.
Отсюда я не хочу запутывать наш код, поскольку я видел его сломанным ранее. Я хочу что-то более твердое, и я также хочу научиться делать это правильно. Сейчас я больше заинтересован в обучении, чем в зарабатывании денег, поскольку только 2% людей когда-либо будут искать взломанную версию.
Пока что я сам разработал генератор случайных чисел, который находится в нескольких областях запуска игры. При запуске (скажем, 1 из 50 раз) лицензия проверяется. Я знаю, что это усложнит взлом, потому что взломщик должен будет исключить каждый случай, скомпилировать, устранить, скомпилировать. Этот метод, однако, все еще можно взломать ... так что вы, ребята, предлагаете? Опять же, я действительно заинтересован в этом процессе безопасности, поэтому, пожалуйста, просвещайте, не превращайте это в дискуссию об обфускации или периодической проверке на основе отметки времени.
Спасибо