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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 424
#1

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

23.12.2013, 14:42. Просмотров 1007. Ответов 12
Метки нет (Все метки)

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

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

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

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

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

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

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

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

Цитата Сообщение от Tester64 Посмотреть сообщение
Теоретически можно. Даже вроде видел где-то инструкцию. Но у меня не получилось. И АНТ не заработал... Часа 4 уже убил впустую... Если получится - напиши пожалуйста краткую инструкцию!
ok. Надо еще попытаться
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
25.12.2013, 04:45     Как защитить приложение от распространения #11
Цитата Сообщение от Slon747 Посмотреть сообщение
Если надо, могу завтра более подробно описать что за бумаги заполнял
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
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 Как подключить WebView в приложение?
Как сделать приложение полноэкранным Android
Android Как остановить и восстановить приложение?

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

Или воспользуйтесь поиском по форуму:
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 422
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     Как защитить приложение от распространения
Ответ Создать тему
Опции темы

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