C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Защита созданного непосильным трудом.., Кто.Где.Как???
** Harold
Отправлено: 19.03.2005, 21:48


Не зарегистрирован







Вчерне все работает, типа, релиззз 1.0!!!
А как кто защищает плоды творчества?
Запись в реестре, конечно, спасет на первые 5 минут....
Хочу привязать к железу, например, к серийнику используемого ВИНТ'а... Как добраться к этому параметру пока не знаю.. А и, правда, как? (MAC адрес?? Но, вроде, не панацея...).
Да и хочется предоставить потенциальному Заказчику(копировщику) образчик ограниченой в возможностях проги...
Перекомпиляция под каждый реализуемый проект не смущает, как и выезд к добросовестным Заказчикам по причине рухновшего из-за железа компу...(это редкость, если сам ставишь "правильное" железо)
Как защитить-то от российской действительности? Alladin не предлогать wink.gif. Так часто выезжать к Заказчику для исправления багов, все же лень.
А то как-то жаль 3-летних трудов на общественных началах... Особенно теперь, когда "студент не нужен..." ©
Regards,
Harold.
Георгий
Отправлено: 20.03.2005, 03:20


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



честно?
никак — наши же свой же 1С крякнули.

усложнить процесс кряка можно используя аппаратные ключи — что то вроде того же Alladin`а

на практике куда более интересна защита в виде полной привязки к бизнес логике заказчика. практически ни в одной другой фирме она не будет повторена и для них ваша программа не будет представлять интереса, как минимум потому что в ней показываются другие окошки.
например в печатные формы зашить логотип фирмы для которой ПО разрабатывается. на основной рабочей форме, которую видят операторы, разместить тот же логотим и т.п.
Rius
Отправлено: 20.03.2005, 17:06


Мастер участка

Группа: Участник
Сообщений: 321



Да уж, хакеры до всего докопаются, но если прога только для конкретного заказчика и он может захотеть халявы, возникает вопрос — будет ли он ломать программу?
Вот пример софтовой защиты: HKE ([url]http://www.softcomplete.com
[/url]) (freeware)
** Harold
Отправлено: 22.03.2005, 00:03


Не зарегистрирован







Н-да.... RegMon — сильная штука — все как на ладони под лупой... wink.gif
Георгий
Отправлено: 22.03.2005, 09:15


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



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

Отредактировано Георгий — 22/03/2005, 09:16
Gedeon
Отправлено: 22.03.2005, 10:05


Ветеран

Группа: Модератор
Сообщений: 1742



Если программа того стоит — аппаратный ключ, вяжитесь к реестру, мак адресу, айпи, метке тома, умаяться можно это все будет подделать, если возможность имеете ездить к заказчику, то это хороший выход, уверяю Вас при ттакой защите народ просто плюнет чем будет мучаться.
klen
Отправлено: 22.03.2005, 10:36


Машинист паровоза

Группа: Участник
Сообщений: 239



QUOTE (Gedeon @ 22/03/2005, 10:05)
Если программа того стоит — аппаратный ключ, вяжитесь к реестру, мак адресу, айпи, метке тома, умаяться можно это все будет подделать, если возможность имеете ездить к заказчику, то это хороший выход, уверяю Вас при ттакой защите народ просто плюнет чем будет мучаться.

В все перечисленное кроме аппаратного ключа мнея лично боль чем на 4 часа не останавливало. С ключем просто возюкатся времени обычно нет, потому что я "тренеруюсь на кошках" а не выполняю чейнибудь заказ по взлому. Обычно я занимаюсь "регестрацией компанент делфи и билдера" но бывае чтото просто интересное с академической для меня точки зрения. Год назад я написал интегрированую среду разработки для микроконтроллера КР1878ВЕ1. Имея опыт по вскрытию прише к выводу что защитить свое тварение от такогоже как я НЕВОЗМОЖНО!! Коллеги все элементарно. Понимаете ли, когда трассируешь код под отладчиком все как на ладоне — если мне чтото не нравится я правлю руками ассемблерный код и получаю что мне нада. Всего лишь необходимо знать ассемблер и процессор. А обращения к железкам всеравно через драйверы проходят, что мешает его "немного дописать" или что гораздо проще в NT семействе поставит драйвер фильтр и селектировать запросы интересуемого процесса и выдавать ему ну все что он не попросит в нужной для нас форме? Вобщем я забил на вопросы защиты.
Gedeon
Отправлено: 22.03.2005, 12:09


Ветеран

Группа: Модератор
Сообщений: 1742



Да это-то понятно, в принципе уже не раз сходились на таком же мнении, но все же не всегда есть такие люди к-рые могут поломать, + пакеры всякие и т.д. это добавляет возни и как правило кое что дает, а ничего невозможного конечно нет. smile.gif
Admin
Отправлено: 22.03.2005, 13:08


Владимир

Группа: Администратор
Сообщений: 1190



Как известно, многие программы постоянно лезут в Inet или при
старте, или чуть позже, проверяют обновления, новости и т.д.
Это и тот же CBuilder и IBExpert и многие другие от Microsoft.

Как насчет такой идеи:

Привязаться к IP-адресу компьютера заказчика.

Допустим и у Вас и у заказчика есть статический IP-адрес,
как и у многих фирм, осуществляющих выход по выделенке в Инет.

При старте Ваша программа лезет в Интернет,
соединяется с Вашим сервером (статический IP-адрес),
с Вашей программой на сервере.
В вашей программе прописаны все IP-адерса покупателей программы.
Ваша программа определяет с какого IP-адреса передан запрос,
есть ли он в базе, не закончилась ли у него лицензия, и если все ок,
отсылает на этот IP-адрес некий небольшой COM-модуль,
или dll, необходимый для работы программы, зашифрованный,
например MD5.

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

Если у Вашего заказчика статического IP нет — он звонит Вам
и говорит полученный от провайдера динамический IP адрес,
по которому Вы и отсылаете необходимый COM.

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

Если заказчику не хочется каждый раз соединяться с Вами
(через Интернет или по Вашему номеру телефона напрямую),
то он может не выключать компьютер, не закрывать программу
хоть неделю, хоть месяцы, так работают без проблем многие сервера.

Отредактировано Admin — 22/03/2005, 13:21

Вернуться в Вопросы программирования в C++Builder