Как предотвратить воровство приложений (специфично для приложений Android)? - PullRequest
19 голосов
/ 27 апреля 2010

Мне было интересно, какой самый эффективный способ запретить людям красть мое приложение (загружать копию .apk в Интернете, а не покупать ее).

Я потратил лот времени на один конкретный (Droidbox) и не буду выпускать Sync, пока я не гарантирую, что люди, которые предоставляют нелегальные копии про версии, не в состоянии.

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

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

Ответы [ 8 ]

13 голосов
/ 28 июля 2010

Теперь доступно новое лицензирование Google App. Более подробную информацию читайте в блоге разработчика Android 1002

.

Краткое резюме: Google предоставляет библиотеку, которая выполняет межпроцессный вызов клиенту Market по телефону. Затем клиент Market спросит серверы Google, купил ли приложение зарегистрированный пользователь, и отправит вам этот ответ. В вашем профиле разработчика должен быть открытый ключ, который необходимо зашифровать для соединения с сервером Google, чтобы предотвратить подделку ответов. Вы также предоставляете уникальный идентификатор приложения и устройства вместе с запросом, чтобы сделать невозможным пересылку утвержденных запросов на другое устройство и создание чего-то вроде лицензионного прокси с одной купленной копией, пересылающей ответы IS LICENSED на другие устройства.

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

Если ваше приложение действительно популярно, например, игра EA, или что-то подобное, это не помешает пользователям взломать его. Чтобы взломать приложение, кто-то должен его купить, затем разархивировать apk и отредактировать байт-код вашего приложения, чтобы думать, что рынок отправил правильный ответ. Новый байт-код может быть упакован в другой apk и может быть установлен на любой телефон, который позволяет боковую загрузку. Чтобы сделать это сложнее, вы всегда можете попытаться запутать ваш apk и сделать ваш байт-код трудным для понимания.

5 голосов
/ 28 апреля 2010

Существует единственная полезная связь между покупателем приложения и разработчиком через рынок: адрес электронной почты для пересылки , предоставленный Google для связи с покупателем.

Используя настройку обратного вызова интеграции для отправки информации о покупке на ваш собственный сервер, вы можете использовать PHP для отправки уникального идентификатора (регистрационного кода) на покупку по электронной почте (в режиме реального времени, поскольку обратный вызов отправляется из Google во время покупки. Затем пользователь использует это электронное письмо для регистрации своего программного обеспечения, используя уникальный идентификатор, который затем связывается с его идентификатором Android (или именем пользователя учетной записи Google), и программное обеспечение «активируется», и гарантировано будет законным .

Очевидные вопросы

  • Почему это подходящее решение, когда пользователю требуется прочитать электронную почту? Наш рынок - это те люди, которые способны купить приложение с помощью устройства Android. При использовании устройства Android подразумевается, что у пользователя есть учетная запись Google, что означает, что он знает, как использовать электронную почту.

  • Как использовать электронную почту с уникальным идентификатором в моем приложении? Создайте обработчик содержимого в своем приложении, который обрабатывает что-то вроде «myactivator: // uniqueid-or-что-то», что заставляет ваше приложение взаимодействовать с вашим внутренним сервером, который следит за активациями. Вставьте это как ссылку в электронное письмо, по которому пользователь может щелкнуть.

  • Как мне создать уникальный идентификатор? Я собираюсь каким-то образом использовать электронную почту - я вполне уверен, что Google уже сделал ее достаточно уникальной, чтобы запретить любой возможный способ продажи контактной информации.

  • А как насчет людей, которые уже приобрели программное обеспечение? Здесь много вариантов - ни одного идеального или ужасного.

    • Отправка писем всем предыдущим покупателям
    • Разрешите пользователям активировать, введя их номер заказа (можно получить, зайдя на checkout.google.com.

Зачем беспокоиться?

Потому что некоторые из нас вкладывают лот времени в приложения, и говорить: «Вы должны просто принять пиратство» - это пощечина.

4 голосов
/ 27 апреля 2010

Люди, достаточно слабые, чтобы использовать пиратские копии вашего приложения для доступа к своему DropBox, вероятно, в любом случае используют свой DropBox для пиратства. Забудь тех людей. Отпусти их. Да, я держу пари, что огромное количество людей, но давайте посмотрим правде в глаза, эти люди никогда не собирались вам ничего платить. Сосредоточьтесь на частях, которыми вы можете управлять, и забудьте об остальном.

Сосредоточьтесь на пользователях Android, которые используют DropBox для своей работы, для своего бизнеса, для собственного кода, для своих финансов, для своей диссертации и / или для своих личных семейных фотографий. 95% тех людей, которые имеют что-то ценное в своем DropBox и хотят, чтобы оно оставалось конфиденциальным, захотят купить ваше приложение (при условии, что оно достаточно хорошо для них).

Позвольте мне использовать эту аналогию:

Когда дело доходит до найма слесаря, чтобы поставить замок на ваш дом, вы нанимаете парня, который смотрит роль и требует 150 долларов в час, или вы нанимаете теневого парня, который готов продать вам украденный замок поставить на входную дверь?

2 голосов
/ 27 апреля 2010

Опубликуйте свою собственную нелегальную копию на самых известных форумах и отключите ее через неделю и покажите сообщение типа

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

Я думаю, это единственное, что вы можете с этим поделать. Люди всегда найдут способ скопировать ваше приложение, и все контрмеры будут мешать только пользователям, которые заплатили за приложение.

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

1 голос
/ 27 апреля 2010

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

0 голосов
/ 09 февраля 2019

У меня та же проблема. Недавно я нашел несколько платных приложений, доступных для бесплатного скачивания на этом сайте: https://dlandroid.com/

Я попросил их удалить APK моего приложения, но я уверен, что есть много других подобных сайтов. Предположительно, у них есть рутированный телефон, который получает одну действительную копию приложения из Google Play, а затем загружает ее на свой веб-сайт для распространения среди всех и вся бесплатно.

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

0 голосов
/ 06 мая 2010

Существует новый инструмент в дикой природе, который, кажется, хорошо, чтобы быть правдой:

Автоматическое лицензирование приложений от Keyes Lab.

Я еще не пробовал, но если это работает, это звучит как то, что вы хотите использовать в своих дорогих приложениях для Android.

Если кто-нибудь проверял это, оставьте комментарий или отредактируйте мой ответ с личным отзывом.

0 голосов
/ 27 апреля 2010

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

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

Немного связана ссылка: http://news.cnet.com/8301-27076_3-20003120-248.html

У вас нет механизма для оценки количества нелегально скопированного программного обеспечения. Наслаждайтесь своими попытками остановить дождь, даже если существа больше, чем вы пытались и потерпели неудачу.

...