Я работаю над игрой для Android и iOS некоторое время. Он использует серверную часть LAMP.
Мне сказали, как легко будет извлечь информацию из .apk после того, как я построю свою игру. Я попробовал это и, конечно же, смог найти там свои функции сетевых вызовов и пароли сервера.
Способ, которым я могу гарантировать, что только мое приложение может выполнять вызовы на сервер, - это использование HTTP POST через SSL, где пароль прошло. Если пароль совпадает с паролем сервера, то вызов подтверждается. После этого сервер проверяет действительный идентификатор пользователя и пароль и получает их данные и т. Д. c.
При первом запуске игры сервер создает профиль для игрока. Я думал, что это безопасно, но теперь я знаю, что кто-нибудь может просто извлечь мой .apk и перепаковать его, а затем использовать мой сервер в качестве бэкэнда, так как у него есть ключи.
Как, черт возьми, я могу защитить свой сервер от чего то такого? Как я могу быть уверен, что только мое приложение сможет получить доступ к моим серверам?