Форум программистов, компьютерный форум CyberForum.ru

Как защитить приложение от распространения - Android

Войти
Регистрация
Восстановить пароль
 
ASDFD12
31 / 31 / 5
Регистрация: 15.09.2012
Сообщений: 408
23.12.2013, 14:42     Как защитить приложение от распространения #1
Как это лучше всего сделать. Может привязка к ID устройства, но тогда надо заранее перед компиляцией знать его. Или может серийный номер, который можна задействовать только один раз - для этого думаю нада писать еще серверную часть.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
23.12.2013, 15:47     Как защитить приложение от распространения #2
серийный номер, который можна задействовать только один раз - для этого думаю нада писать еще серверную часть.
Вот это оно, и серверная часть не сильно сложная там у вас будет, всего лишь база с тремя столбцами в которые будете записывать имей устройства и запущено оно на нем или нет, то есть флаг (true\false).

Делаете пост запрос на сервер с этими данными из приложения и все.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
23.12.2013, 16:13     Как защитить приложение от распространения #3
вполне можно сделать полноценную защиту как в винде - на основе хард ключа. Отсылаеся проверочный ключ юзеру после того как он вышлет Вам свой хард ключ. Если проверочный ключ не совпадает хард ключу - программа не работает. Преимущество - работает без инета.
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
23.12.2013, 18:07     Как защитить приложение от распространения #4
Цитата Сообщение от Tester64 Посмотреть сообщение
вполне можно сделать полноценную защиту как в винде - на основе хард ключа. Отсылаеся проверочный ключ юзеру после того как он вышлет Вам свой хард ключ. Если проверочный ключ не совпадает хард ключу - программа не работает. Преимущество - работает без инета.
Примерно так и я сделал
ASDFD12
31 / 31 / 5
Регистрация: 15.09.2012
Сообщений: 408
24.12.2013, 17:47  [ТС]     Как защитить приложение от распространения #5
Цитата Сообщение от Slon747 Посмотреть сообщение
Примерно так и я сделал
можно подробней. ключ у вас хранится в отдельном файле и приложение читает его. хард ключ содержит жёстко вшыту информацию о устройстве, например ИМЕЙ. если пропадает ключ работа нарушается.
моя идея в том чтобы пользователь прислал мне ИМЕЙ устройства до того как скачает приложение, после чего я встраюю его в код приложение, компилирую с обфускацией и уже после отправляются программу заказчику. Насколько это правильно? как именно работает ключ, легко ли зламать приложение просто удалив условие проверки ключа после декомпиляции?
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
24.12.2013, 18:28     Как защитить приложение от распространения #6
Цитата Сообщение от ASDFD12 Посмотреть сообщение
можно подробней. ключ у вас хранится в отдельном файле и приложение читает его. хард ключ содержит жёстко вшыту информацию о устройстве, например ИМЕЙ. если пропадает ключ работа нарушается.
моя идея в том чтобы пользователь прислал мне ИМЕЙ устройства до того как скачает приложение, после чего я встраюю его в код приложение, компилирую с обфускацией и уже после отправляются программу заказчику. Насколько это правильно? как именно работает ключ, легко ли зламать приложение просто удалив условие проверки ключа после декомпиляции?
На активити запроса регистрационного ключа пользователь вводит свои данные (название фирмы, емейл, телефон) и при нажатии кнопки эти данные, а также сгенерированное по железу значение отправляются по JSON на php-mysql сайт. Оттуда я считываю данные железа и генеренирую файл ключа. Этот файл высылается по почте и сбрасывается на карту памяти. Программа считывает его и записывает в настройки.
В дальнейшем сначала ищет файл на диске и если не находит считывает значение из настроек.
Сделал так, потому что задуманы 2 версии программы по разной цене. И переход на более дорогую происходит обычной заменой файла ключа. Еще не проверял на реальных продажах, т.к. только на днях подал заявку на авт. право.

Насчет защиты от взлома пусть скажут настоящие спецы по джаве, а не я. Но ясно, что простой проверкой (кодировка/раскодировка ключа) нельзя ограничиваться. Имея опыт можно выгрузить проект в .smali и найти эти места, а потом пересобрать. Вопрос в том, станут ли это делать.
И обфускация, вероятно, должна запутать. Но также можно в разных местах программы делать и другие проверки.
Но если Вы будете встраивать код в программу, то в случае исправлений/доработок придется для каждого заказчика заново компилировать и обфусцировть программу. Стоит ли?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
24.12.2013, 20:20     Как защитить приложение от распространения #7
Цитата Сообщение от Slon747 Посмотреть сообщение
подал заявку на авт. право
В смысле отправили на сайт гугла для выкладки на маркет? Или на гос. регистрацию патента на программу?

Цитата Сообщение от Slon747 Посмотреть сообщение
Но если Вы будете встраивать код в программу, то в случае исправлений/доработок придется для каждого заказчика заново компилировать и обфусцировть программу.
Я думал что при обфусцировании строковые константы не шифруются... Только код "упрощается" и слегка перемешивается.

Добавлено через 4 минуты
У меня была мысль встраивать ключ в программу подкладывая "ответ на хард ключ" в виде текстовичка прямо в APK файл специальным регистратором, но на Переупаковка APK никто не ответил... Прийдется самому тесты проводить...
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
24.12.2013, 21:23     Как защитить приложение от распространения #8
Цитата Сообщение от Tester64 Посмотреть сообщение
В смысле отправили на сайт гугла для выкладки на маркет? Или на гос. регистрацию патента на программу?
Регистрация авторского права на интеллектуальную собственность. Там указано название программы, описание, кусок кода до 140 стр и пр.
А патент - нечто другое. Он намного дороже и дольше оформляется.

Цитата Сообщение от Tester64 Посмотреть сообщение
Я думал что при обфусцировании строковые константы не шифруются... Только код "упрощается" и слегка перемешивается.
Вроде бы строковые константы не шифруются. Но я когда-то обработал php-код и что я там увидел - это нечто, не читаемая каша. Так что смысл есть.

Кстати, может кто скажет, можно ли обфусцировать код средствами IntelliJ IDEA?
А то я несколько часов потратил на изучение ANT, но переработать готовый apk так и не получилось.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
24.12.2013, 23:40     Как защитить приложение от распространения #9
Цитата Сообщение от Slon747 Посмотреть сообщение
Регистрация авторского права на интеллектуальную собственность. Там указано название программы, описание, кусок кода до 140 стр и пр.
Даже слегка завидно. В Украине - это еще не работает. С судами связываться (доказывать что они украли у тебя, а не ты у них) - себе дороже... А что если моя программа перевалила (чистый ява код) за 1.5 мегабайта? какие 140 стр (строк? страниц?) брать?
Пока что надежда ТОЛЬКО на мои пароли.

Цитата Сообщение от Slon747 Посмотреть сообщение
можно ли обфусцировать код средствами IntelliJ IDEA?
А то я несколько часов потратил на изучение ANT, но переработать готовый apk так и не получилось.
Теоретически можно. Даже вроде видел где-то инструкцию. Но у меня не получилось. И АНТ не заработал... Часа 4 уже убил впустую... Если получится - напиши пожалуйста краткую инструкцию!
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
25.12.2013, 00:09     Как защитить приложение от распространения #10
Цитата Сообщение от Tester64 Посмотреть сообщение
Даже слегка завидно. В Украине - это еще не работает. С судами связываться (доказывать что они украли у тебя, а не ты у них) - себе дороже... А что если моя программа перевалила (чистый ява код) за 1.5 мегабайта? какие 140 стр (строк? страниц?) брать?
Пока что надежда ТОЛЬКО на мои пароли.
Как не работает? Я в Украине это и делал . Если надо, могу завтра более подробно описать что за бумаги заполнял.
Конечно, чай не в Америках живем и на законы не надеюсь. Но оценив альтернативное ПО и рынок, я решил хотя бы так подстраховаться.
Насчет кода, я долго думал, какой выбрать, т.к постоянно вношу изменения. Выбрал наименее подверженную изменениям функцию. Другой вопрос, как потом доказывать, что вот этот двоичный код и этот кусок кода - одно и то же?

Цитата Сообщение от Tester64 Посмотреть сообщение
Теоретически можно. Даже вроде видел где-то инструкцию. Но у меня не получилось. И АНТ не заработал... Часа 4 уже убил впустую... Если получится - напиши пожалуйста краткую инструкцию!
ok. Надо еще попытаться
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.12.2013, 04:45     Как защитить приложение от распространения #11
Цитата Сообщение от Slon747 Посмотреть сообщение
Если надо, могу завтра более подробно описать что за бумаги заполнял
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
агерон
 Аватар для агерон
265 / 264 / 33
Регистрация: 12.10.2009
Сообщений: 1,040
25.12.2013, 07:11     Как защитить приложение от распространения #12
защита должна строиться не на страхе (суд) или сложности (супер пупер защищенная азбука) а на стоимости т. е. приложение должно стоить столько что бы его было не выгодно ломать, а выгодно покупать к примеру не $35 за копию а $3.49 тогда и проблем с "взломают/не взломают" не будет т. к. пользователю просто в лом будет искать взломанное приложение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 11:39     Как защитить приложение от распространения
Еще ссылки по теме:

Защитить переменную класса от записи Android
Android Как защитить приложение
Android Как привязать приложение к ВК?
Как защитить intentService от чистильщика? Android
Android Как работает новостное приложение?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
25.12.2013, 11:39     Как защитить приложение от распространения #13
Цитата Сообщение от Tester64 Посмотреть сообщение
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
Заявление: sips.gov.ua/i_upload/file/zajava_na_tvir.doc
На отдельном листе кусок кода. Иметь при себе паспорт и ИНН.
Можно регистрировать как на частное лицо, так и на организацию. Регистрация стоит 800 грн и длится 2-3 мес.

Цитата Сообщение от агерон
защита должна строиться не на страхе (суд) или сложности (супер пупер защищенная азбука) а на стоимости т. е. приложение должно стоить столько что бы его было не выгодно ломать, а выгодно покупать к примеру не $35 за копию а $3.49 тогда и проблем с "взломают/не взломают" не будет т. к. пользователю просто в лом будет искать взломанное приложение
Конечно. Но если это программа не массового спроса, а бизнес-приложение и цена у конкурентов начинается с 75$ за подобный функционал, то это уже другой случай.
Yandex
Объявления
25.12.2013, 11:39     Как защитить приложение от распространения
Ответ Создать тему
Опции темы

Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru