Форум Херсона. Форум Херсонской молодежи.

Форум Херсона. Форум Херсонской молодежи. (http://forum.norma4.net.ua/)
-   Программирование (http://forum.norma4.net.ua/programmirovanie/)
-   -   Защита софта (http://forum.norma4.net.ua/programmirovanie/83820-zashita-softa.html)

Svyrydov 16.03.2016 22:11

Защита софта
 

народ привет!
кто если делает софт - сталкиваясь с защитой от пиратства (защита от копирования, флешка-ключ, серийные номера) какие методики используете?

интересует больше не мобильные приложения которые в ссорах лежат, а просто приложения мак/виндовс.

у меня пока что идея - ключ/флешка

PhoeniXX 20.03.2016 15:49

Цитата:

Сообщение от Svyrydov (Сообщение 1270320)
народ привет!
кто если делает софт - сталкиваясь с защитой от пиратства (защита от копирования, флешка-ключ, серийные номера) какие методики используете?

интересует больше не мобильные приложения которые в ссорах лежат, а просто приложения мак/виндовс.

у меня пока что идея - ключ/флешка

Имхо, ключ\флешка тот же серийник по сути. Тут сильно может зависит от тематики приложения, но если у приложения есть некий Backend с API в интернете, с которого он тянет данные, то проще всего сделать регистрацию через сайт, и потом на уровне этого API валидировать каждого клиента.

Либо просто ключ с валидацией через интернете, ну и проверкой того что этот ключ используется только с одной машини\айпи\etc. Но это не панацея все же, так как вырезать эту валидацию из desktop приложение не сильно большая проблема.

Svyrydov 21.03.2016 17:34

та это да - и вот думаю как лучше реализовать

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

Davlat 21.03.2016 20:04

тогда уже не постоянный код, а что-то сгенерированное по секретной формуле - иначе сниффером легко вскроют, посмотрев что приложение передает-принимает по сети (сам ничего не понял, что написал, но звучит зловеще)

Svyrydov 23.03.2016 07:39

а не бывает таких чипов/платок чтоб её зашил/прошил и вставил во внутрь системного блока, после чего поставил снаружи пломбочку свою фирменную и вуаля.
Чтоб привязать прогу, чтобы та работала только с такой платной внутри компьютера?!

PhoeniXX 23.03.2016 10:22

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

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

Davlat 23.03.2016 15:32

стоимость разработки ПО вырастает на стоимость разработки устройства защиты.
когда-то у 1С и "Лига:Закон" была защита на основе HASP-ключей, которые подключались к LPT-порту и работали. Вымерло вместе с портами %) Перешли на USB-ключи. но никто не мешает сделать программный эмулятор.

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

Svyrydov 24.03.2016 20:52

и опять инет :)
с онлайном проще, а с оффлайном - не так всё просто.
цель защиты - чтоб клиент, который купив продукт, не смог его запускать на всех подряд машинах. а только на одной.

подумываю - может как вариант поискать вариант считать какие то уникальные параметры софтом-инициализатором с конкретной машины, и чтоб клиент отправлял мне этот уникальный код и я б под него уже ему затачивал софт.
но что это за уникальное чудо число, которое постоянно можно будет считать в дальнейшем моим софтом(C#)?

и опять же это должно работать(считывание уникального кода) как в винде, так и в линухе и маке.

Svyrydov 24.03.2016 23:11

пока реализовал через

SystemInfo.deviceUniqueIdentifier; //- клиент высылает мне свой уникальный адрес

и я в проге его прописываю(идентификатор) и при запуске сравниваю с текущем идентификатором конкретной машины

проверил на двух компах - вроде работает, единственное что странно - на одном и том же компе под мак осью и виндой даёт разные идентификаторы

вид идентификатора вот такой : 6e50c1f5abf2beeb0d05c783df8073069ddc6801

zwitter 05.05.2016 09:45

выкинь свою кустарщину.

аппаратный ключ бери, http://www.guardant.com.ua/products/all/
есть версии как для программы на 1 пк, так и сетевой - с подсчетом количества запущенных копий программы.
API вообще не сложный, есть примеры в комплекте поставки, правда иногда нужно было подпилить напильником ))

Debian 06.05.2016 21:23

Цитата:

Сообщение от Svyrydov (Сообщение 1271793)
и я в проге его прописываю(идентификатор) и при запуске сравниваю с текущем идентификатором конкретной машины

такое и артманями можно поломать)))

andalit 09.09.2016 14:25

самый защищенный способ - это активация по интернету + ведени статистики онлайн, но тут свои минуса

zwitter 12.09.2016 11:29

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

очень жду ответа, когда юзер выйдет из бана

ZERO 20.11.2016 11:31

Цитата:

Сообщение от zwitter (Сообщение 1294773)
а можно подробнее?
про активацию, где ключ хранить будешь?

Ключ хранится в архиве.


Время на сервере: 05:32.

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co