Как воруется платный контент
Если вы допустите эту ошибку, то любой гений, готовый потратить вечер на хакерство, сможет собрать крякнутую версию вашего приложения с доступом ко всем платным фичам
Не стоит:
• хранить информацию о купленном контенте локально
• проверять доступ к контенту исключительно отдельным запросом к серверу
Почему не стоит или как проводится атака:
1) из установленного приложения вытаскивается apk-архив
2) dex-файлы с кодом перегоняются в smali-код
smali код более читабельный для человека, чем dex
3) в коде находится строчка, в которой проверяется доступ к платному контенту
то есть строчка с if(userHasAccess())
и меняется на строчку if(true) или просто удаляется
4) измененный код собирается обратно в apk-файл
5) новый apk подписывается и устанавливается на устройство
а также рассылается всем друзьям)
Как избежать:
единственный известный мне способ — пнуть бек-разработчика, чтобы он на своей стороне всегда проверял, можно ли этому пользователю отдать контент на запрос от приложения
сервер должен относиться к приложению как к штуке, которая может попытаться его наебать
например, если от приложения приходит запрос на прослушивание аудиокниги, то сервер должен проверить, купил ли пользователь эту книгу
....
о каких еще способах воровства вам известно?
Post #34
1.67K