Предотвращение пиратства в Android с помощью запросов сервера

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

Обратите внимание, что просто защита приложения с помощью LVL не будет работать, потому что люди могут довольно легко написать приложение для взаимодействия с сервером и по-прежнему предоставлять те же функции, что и платное приложение.

Во-первых: нет 100% -ной защиты для всего, что вы запускаете на устройстве, которое не находится под вашим контролем (например, устройства Android в вашем случае).

Вы можете сделать «жестокое обращение» более сложным:

  • Выдать случайный ключ сеанса (криптографически безопасный) после успешного входа в систему с лимитом времени, поэтому новый вход должен произойти по прошествии определенного времени
  • Выдать случайный ключ взаимодействия (криптографически безопасный) для каждого этапа связи, который становится недействительным сразу после одного использования
  • При успешном входе в систему завершается любой другой сеанс, связанный с теми же учетными данными, которые могут быть активными до этого входа
  • Использование «дроссельной заслонки», т. Е. Ограничение количества вызовов в минуту / час или аналогичных значений (может быть невозможно в зависимости от конкретного приложения)

Если вы действительно очень хотите сделать это очень сложно, вы можете выдать клиентский сертификат, специфичный для устройства (когда клиент покупает ваше приложение) и использовать аутентификацию клиента на основе сертификата (определенную в стандарте SSL) – вы можете аннулировать сертификат, связанный с Устройства, если вы видите злоупотребления без вреда для законных пользователей других устройств …

Взято из моего решения с этого поста Android Game Keeps Hacked

Внедрите свою собственную библиотеку лицензирования

Я также хотел бы направить вас, чтобы проверить это из записи Google I / O 2011 YouTube:

Уклонение от пиратов и остановка вампиров

РЕДАКТИРОВАТЬ:

Презентационные заметки из « Уклоняющихся пиратов» и «Остановить вампиров»

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

  • Изменить LVL
  • Реализовать сопротивление лабиринта LVL
  • Использовать обфускацию
  • Добавить отражение

В примечаниях к презентации содержатся основные примеры и направление для изменения. В видеоролике YouTube есть обсуждение аутентификации на стороне сервера и ее отношение к пиратству и загрузке активов и т. Д. В частности, с использованием сервера лицензий, в App Billing и App Engine. Но хорошая основа, чтобы учиться независимо от того, как вы решаете подход к решению.