С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
1

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

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

Как это лучше всего сделать. Может привязка к ID устройства, но тогда надо заранее перед компиляцией знать его. Или может серийный номер, который можна задействовать только один раз - для этого думаю нада писать еще серверную часть.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 14:42
Ответы с готовыми решениями:

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

Как защитить приложение?
*.apk без проблем открывается винраром, *.dex, содержащий весь код, также легко...

Как защитить intentService от чистильщика?
Добрый день, Собственно вопрос в названии темы. Есть фоновый сервис, который...

Как защитить свою программу от нелегального распространения средствами PABC.NET
Можно ли как то ограничить круг использования: например, ситуация: я передал...

Как защитить мое приложение?
Здравствуйте! Скажите как защитить созданное мною приложение от взлома и кражи...

12
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
23.12.2013, 15:47 2
серийный номер, который можна задействовать только один раз - для этого думаю нада писать еще серверную часть.
Вот это оно, и серверная часть не сильно сложная там у вас будет, всего лишь база с тремя столбцами в которые будете записывать имей устройства и запущено оно на нем или нет, то есть флаг (true\false).

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

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

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

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

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

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

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

Цитата Сообщение от Tester64 Посмотреть сообщение
Теоретически можно. Даже вроде видел где-то инструкцию. Но у меня не получилось. И АНТ не заработал... Часа 4 уже убил впустую... Если получится - напиши пожалуйста краткую инструкцию!
ok. Надо еще попытаться
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
25.12.2013, 04:45 11
Цитата Сообщение от Slon747 Посмотреть сообщение
Если надо, могу завтра более подробно описать что за бумаги заполнял
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
0
агерон
274 / 281 / 58
Регистрация: 12.10.2009
Сообщений: 1,112
25.12.2013, 07:11 12
защита должна строиться не на страхе (суд) или сложности (супер пупер защищенная азбука) а на стоимости т. е. приложение должно стоить столько что бы его было не выгодно ломать, а выгодно покупать к примеру не $35 за копию а $3.49 тогда и проблем с "взломают/не взломают" не будет т. к. пользователю просто в лом будет искать взломанное приложение
0
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 529
25.12.2013, 11:39 13
Цитата Сообщение от Tester64 Посмотреть сообщение
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
Заявление: sips.gov.ua/i_upload/file/zajava_na_tvir.doc
На отдельном листе кусок кода. Иметь при себе паспорт и ИНН.
Можно регистрировать как на частное лицо, так и на организацию. Регистрация стоит 800 грн и длится 2-3 мес.

Цитата Сообщение от агерон
защита должна строиться не на страхе (суд) или сложности (супер пупер защищенная азбука) а на стоимости т. е. приложение должно стоить столько что бы его было не выгодно ломать, а выгодно покупать к примеру не $35 за копию а $3.49 тогда и проблем с "взломают/не взломают" не будет т. к. пользователю просто в лом будет искать взломанное приложение
Конечно. Но если это программа не массового спроса, а бизнес-приложение и цена у конкурентов начинается с 75$ за подобный функционал, то это уже другой случай.
1
25.12.2013, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 11:39

Как лучше защитить приложение?
Доброго времени суток. Я хочу сделать чтобы мое приложение можно было покупать,...

Как защитить свое приложение (Активация)
Друзья, возник такой вопрос. Хочу свою программу сделать "от части" платной....

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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