2016-09-23 2 views
16

Должен ли я защитить свое приложение для Android (загруженное из Google Play Store), чтобы его копировать? Я слежу за ссылками на документы, которые говорят о конфликтующих вещах.Нужно ли мне защищать приложение для Android от копирования?

Если я ищу «приложение шифрование» с помощью консоли разработчика Google Play помощь, она показывает мне 'Google Play Licensing Service' веб-страницу, которая заканчивается:

Пожалуйста, обратите внимание, что начиная с Jellybean выпуска ОС Android, все приложения, оплаченные а также бесплатно, зашифрованы по умолчанию, и поэтому не требуют дополнительной защиты от несанкционированного копирования , такого как Сервер лицензирования Google.

'Filters on Google Play' говорит:

Google Play больше не поддерживает функцию защиты от копирования в Developer Console в ...

и обеспечивает связь с 'Replacement for Copy Protection'. Это ссылка на 'Setting Up for Licensing', которая ссылается на 'Adding Licensing to Your App', которая ссылается на 'Market Licensing Support FAQ', где отображается веб-страница 'Google Play Licensing Service' (с приведенным выше текстом, который указывает, что приложения после Джеллибо зашифрованы). Итак, если я не понимаю, это противоречит самому себе.

Судя по дате других сообщений по этой теме, я предполагаю, что мне нужно сделать свою собственную защиту приложений, используя Лицензионный лицензионный лайв на рынке Google (лицензионная библиотека лицензирования). Тем не менее, есть признаки того, что это не лучшее в настоящее время решение (например, пример приложения Market Licensing выглядит устаревшим, несколько недавних сообщений на форуме об использовании его, без классов udacity.com, которые я мог найти при его использовании). Поэтому я подумал, что это поможет получить окончательный ответ.

+0

Пришло время добавить ссылки/URL. У вас репутация :) –

+0

Спасибо! Я добавил ссылки. – JohnA

ответ

3

Во-первых, вы не можете защитить свой код 100%. Но вы можете сделать работу хакера достаточно жесткой. Существуют некоторые методы защиты вашего кода protect android app. Я рекомендую вам посмотреть инструмент proguard.

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

+0

Это помогает - tx, особенно [защищать приложение для Android] (http://mobilenext.net/protect-android-app-app-pirates/). Я согласен с proguard, который я использую. Мне было бы очень интересно узнать, включена ли функция шифрования приложений после Jellybean. То есть, может ли кто-нибудь получить файл APK и перераспределить его как свое приложение? [Фильтры в Google Play] (https://developer.android.com/google/play/filters.html), похоже, что шифрование больше не используется. [Служба лицензирования Google Play] (https://support.google.com/googleplay/android-developer/answer/186113?hl=ru-RU) говорит, что она используется. Или я не понимаю? – JohnA

+0

Я понимаю, что после Jellybean функция шифрования приложения неактивна. Теперь вы должны использовать Службу лицензирования Google Play для защиты своего приложения от перераспределения. –

+0

Не могли бы вы сообщить мне, откуда вы получаете эту информацию? Я прошу, потому что это противоречит странице [Лицензионное обслуживание Google Play] (https://support.google.com/googleplay/android-developer/answer/186113?hl=ru-RU) (в которой говорится о приложениях после Jellybean зашифрованы). Благодарю. – JohnA

1

Если ваш APP предоставляет услугу, онлайн-игру (требуется сервер), вы можете просто защитить свою службу некоторым правилом регистрации/авторизации.

Или, если ваш APP был инструментом, автономной игрой, на самом деле его трудно защитить. Существует некоторый веб-сайт, предоставляющий услугу, которая позволяет пользователю напрямую загружать APK-файл из GooglePlay и без какой-либо покупки. Любой может установить эти APK, просто разрешив установку APP из источника, отличного от GooglePlay. В этом случае вам необходимо каким-то образом защитить APP от копирования.

+0

Это интересно о сайте, который обеспечивает загрузку приложений без покупки. Спасибо за ответ. – JohnA

0

Рассмотрев обратную связь к этому сообщению (спасибо), я считаю, что ответ «нет», мне не нужно защищать мое приложение от копирования, поскольку сомнительная выгода не оправдывает усилия (объяснение объясняется ниже). Однако этот ответ основан на приложении, которое я сейчас разрабатываю, и не будет применяться ко всем.

Приложение не зависит от серверного компонента и, следовательно, будет работать изолированно. То есть, если кто-то получит пиратскую копию, они смогут ее запустить. Тем не менее, приложение будет иметь низкую цену. Поэтому, если кто-то делает копию и начинает продавать ее незаконно, им нужно будет продать много из них, чтобы заработать деньги и оправдать свои усилия и риск быть взят. Они также могут отдать пиратскую копию приложения, но я предполагаю, что большинство пользователей такой версии пирата не заплатили бы за это в первую очередь.

Если я интегрирую лицензионный лад на рынке Google, это затруднит пиратство приложения. Тем не менее, с достаточными усилиями, это может быть обратное преобразование в исходный код (даже со мной с помощью Proguard), функциональность LVL может быть устранена, а приложение перестроено. Кроме того, интеграция LVL - это значительное усилие (для меня, по крайней мере), оно рискует ввести ошибки в приложение, и я не убежден, является ли это хорошим решением (пример приложения для лицензирования рынка выглядит устаревшим, несколько недавних сообщений на форуме на его использовании, ...). Следовательно, я не думаю, что усилия и риск оправданы.

Если у приложения была высокая цена продажи, мой ответ, вероятно, был бы другим, и я бы рассмотрел другие варианты. Например, можно было бы интегрировать лицензию на маркетинг в Google Market LVL, но это не устранило бы риск пиратства полностью, если бы Android не обеспечивал безопасное шифрование приложений. Шифрование приложения кажется для меня большой проблемой (учитывая, например, что ее нужно дешифровать в какой-то момент для ее запуска), что может объяснить, почему шифрование приложения после Jellybean было удалено (если оно было удалено). Я мог бы также переместить функциональность, чтобы быть серверной - для меня это кажется самой безопасной стратегией, хотя было бы дорого развиваться и требовать, чтобы серверная сторона управлялась и поддерживалась в будущем.

Скорее всего, есть аспекты этого, которые я не рассматривал. Прошу прокомментировать, если вы не согласны с моим ответом или имеете другие мысли.

Смежные вопросы