Как мне написать код, чтобы противостоять пиратству в один клик? - PullRequest
12 голосов
/ 29 февраля 2012

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

В целях защиты моего приложения от "пиратства одним нажатием" я применяю методы обнаружения взлома, описанные в Google IO .

Я пытался проверить подпись как с getPackageInfo(), так и с отражением (invoke()), но AntiLVL смог автоматически взломать приложение в обоих случаях.

Как мне написать код, который не будет автоматически взломан текущей версией antiLVL (1.4.0)? Я имею в виду, кроме использования JNI.

PS: я не говорю о предотвращении пиратства в целом. Я просто хочу, чтобы пират копался в коде вручную, а не использовал автоматический взломщик.

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Проблема в том, что любой API, который служит только для проверки действительности вашего приложения, может быть подорван и заменен версией, которая всегда возвращает ожидаемый вами результат.Я не рассматривал Anti-LVL подробно, но я бы предположил, что он это делает, поэтому ваши попытки проверить ваш код с помощью встроенных API-интерфейсов Dalvik для этой цели терпят неудачу.

Длячтобы заставить его работать, вам придется делать работу самостоятельно, используя только API, которые имеют несколько целей и не могут быть так легко подорваны.

Один из способов сделать это - вычислить контрольную сумму любого из ваших .apkфайл или только файл classes.dex внутри него, и проверьте его по какому-либо внешнему ресурсу (онлайн-сервер со списком известных правильных версий, файл, загруженный на SD-карту при первом запуске, и т. д., ресурс в файле .apk, который не включенв classes.dex).Это предотвращает изменение кода, который, как я считаю, работает как анти-LVL.Я сам не пробовал, но подозреваю, что это должно сработать.

0 голосов
/ 16 мая 2012

Примечания к презентации из Уклонение от пиратов и остановка вампиров

Некоторые основные ключевые моменты

Обратите внимание, что #:r.page.X в конце ссылок, которые я предоставил, не всегда приведет вас к этому конкретному номеру слайд-страницы по любой причине.Если это не так, запишите и просмотрите вручную.

...