Подготовка биллинга в приложении на корневом устройстве

#android #security #root #in-app-billing

#Android #Безопасность #root #выставление счетов в приложении

Вопрос:

Я разрабатываю приложение для Android, которое будет предлагать пользователю выставление счетов в приложении для покупки определенного количества монет (например). Когда эта покупка будет израсходована, я хочу сохранить этот факт, например, увеличив переменную CoinsRemaining.

Простой способ сделать это — увеличить с помощью переменной и обновить ее в SharedPreference во внутренней памяти.

Однако, если устройство внедрено, а пользователь имеет доступ на запись в / data, пользователь, безусловно, может вручную изменить настройки, чтобы увеличить эту переменную CoinsRemaining.

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

Комментарии:

1. Не могли бы вы просто проверить на сервере значение coinsRemaining? Код не был бы таким сложным, и это избавило бы вас от потери денег…

Ответ №1:

Вы можете использовать безопасные настройки, но ключ шифрования также должен быть сохранен где-нибудь на устройстве или в коде вашего приложения. Вы можете использовать keystore для сохранения в нем ключа шифрования.

Проекты безопасных настроек: scottyab / secure-preferences, kovmarci86 / android-secure-preferences