Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557
1

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

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

Author24 — интернет-сервис помощи студентам
Как это лучше всего сделать. Может привязка к ID устройства, но тогда надо заранее перед компиляцией знать его. Или может серийный номер, который можна задействовать только один раз - для этого думаю нада писать еще серверную часть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2013, 14:42
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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

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

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

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

Цитата Сообщение от Tester64 Посмотреть сообщение
Теоретически можно. Даже вроде видел где-то инструкцию. Но у меня не получилось. И АНТ не заработал... Часа 4 уже убил впустую... Если получится - напиши пожалуйста краткую инструкцию!
ok. Надо еще попытаться
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
25.12.2013, 04:45 11
Цитата Сообщение от Slon747 Посмотреть сообщение
Если надо, могу завтра более подробно описать что за бумаги заполнял
Знать не помешает... На законы не надеюсь, но возможно самых наглых жуликов отпугнет скриншот бумажки на сайте... Опишите хотя-бы вкратце... И необходимую сумму взносов для оформления...
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
25.12.2013, 07:11 12
защита должна строиться не на страхе (суд) или сложности (супер пупер защищенная азбука) а на стоимости т. е. приложение должно стоить столько что бы его было не выгодно ломать, а выгодно покупать к примеру не $35 за копию а $3.49 тогда и проблем с "взломают/не взломают" не будет т. к. пользователю просто в лом будет искать взломанное приложение
0
63 / 41 / 3
Регистрация: 24.08.2013
Сообщений: 620
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2013, 11:39
Помогаю со студенческими работами здесь

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

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

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

Как можно защитить приложение от взлома?
Как можно ещё защитить код (усложнить работу при декомпиляции)? Тема была выделена отсюда -...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru