2015-11-12 6 views
-2

Длинная история: Мои клиенты хотят, чтобы сторонняя компания проверила мое приложение. Поскольку я никогда не слышал об этой компании раньше, я хочу сделать свое приложение недоступным для копирования/доступа к данным, если они попытаются скопировать мою программу или сделать странный материал. В нескольких словах я даю им смартфон с уже установленным и доступным приложением, но это все, они не могут сделать ничего больше, чем обычное тестирование, как обычный пользователь. Или способ задать им пароль, если они попытаются получить доступ к разумным данным. Есть ли способ сделать это?Безопасность Android: как сделать приложение для Android недоступным для копирования?

Краткая история: Мне нужно сделать мое приложение недоступным для копирования, а его данные недоступны для других.

Надеюсь, что мое объяснение было исчерпывающим :) Спасибо всем!

ответ

1

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

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

  1. Свяжите эту конкретную сборку своего приложения с чем-то конкретным для телефона, с которым вы делитесь. Если серийный номер телефона не соответствует, он не работает. См. this on getting a serial number of an Android device.

  2. Если есть файлы данных за пределами скомпилированного кода программы, которые вы пытаетесь защитить, то есть открытый текст или нет в пользовательском двоичном формате, просто зашифруйте его. Расшифровывать во время выполнения. Возможно, пароль/ключ основан на серийном номере устройства или другого уникального телефона. Таким образом, они не могут копировать данные и программы на другой телефон и работать с ним.

  3. Положить время бомбы на место. То есть, после определенной даты приложение просто не работает.

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

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

+0

Спасибо за ответ :) Есть ли руководство, чтобы сделать точки 3 и 4? – Dango

+0

Это именно то, что вы могли бы подумать. Для # 3 вызовите библиотеку данных Java/времени. Если текущая дата минует время истечения срока действия, которое вы скомпилировали, приложение не запускается (или появляется диалоговое окно с сообщением). Для # 4 HttpUrlConnection в AsyncTask - это все, что вам нужно. Моя единственная рекомендация - сделать загрузку данных через HTTPS. – selbie

+0

Извините, но я новичок в android, есть ли полное объяснение руководства? Я тоже посмотрел на первый вариант, поэтому вначале я могу попросить в начале приложения посмотреть идентификатор устройства и, если он отличается от значения по умолчанию, я могу заблокировать запуск приложения, правильно? Последний вопрос: как я могу заблокировать/заставить unistall приложение при запуске в случае, если условие не выполнено? Большое спасибо :) – Dango

0

Варианты использования лицензий, предоставляемых Play Маркета и инструменты, как Proguard может затруднить

0

Вы можете попробовать StarForce Protection для Android, которая предотвращает взлом и копирования. Они предлагают месяц бесплатно. Этого достаточно для тестирования. Или просто попросите продлить пробный период, если вам нужно.

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