Работа с недобросовестным заказчиком.
Модератор: Модераторы
Работа с недобросовестным заказчиком.
Вынужден работать с недобросовестным заказчиком. Хотелось бы иметь гарантии, что со мной расчитаются. Поделитесь, пожалуйста, методами, пользуясь которыми в Lazaruse можно установить какую-нибудь защиту. Желательно, чтобы её можно было снять дистанционно, передав пользователю соответствующий код.
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
Методов много. Главное, встроить механизм ввод кода (причём сверять лучше хэш, чтобы сам код в hexр-редакторе не светился), без которого программа нормально не работает (или работает с ограничениями). Например как-то так:
1. Если ваша программа печатает какие-либо документы, можно выводить при печати водяной знак.
2. Можно встроить в программу механизм самоуничтожения через определённый срок (скажем, оговорённый вами и заказчиком срок оплаты + пара дней).
3. Как вариант, не полное самоуничтожение, а блокировка (вывод при старте сообщения о необходимости оплаты и окна ввода кода). Проверено, работает
1. Если ваша программа печатает какие-либо документы, можно выводить при печати водяной знак.
2. Можно встроить в программу механизм самоуничтожения через определённый срок (скажем, оговорённый вами и заказчиком срок оплаты + пара дней).
3. Как вариант, не полное самоуничтожение, а блокировка (вывод при старте сообщения о необходимости оплаты и окна ввода кода). Проверено, работает
- dunin
- энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
- Контактная информация:
Вариант первый: покупаете лицензию на кокой-нибудь хороший криптор с опцией выдачи ключей, например ASProtect.
Вариант второй: защищаете программу самостоятельно. Вариантов масса. От квалифицированного хакера не спасет (впрочем как и в первом варианте), но если работаешь с одним заказчиком, то квалифицированному хакеру ваша программа не сдалась...
Можно использовать примерно такой способ:
- программа (точнее дополнительная утилита к программе) берет несколько строковых констант (одна из них наименование организации заказчика и одна дата окончания лицензии), и проведя над ними некоторые преобразования (шифрация, хеширование и т.д.) записывает это в определенный файл (ключевой файл). Отдельно пишется дата окончания лицензии;
- программа (основная) в определенные моменты времени производит те же действия с теми же константами и сравнивает их с там, что записано в ключевом файле. если все ОК, то проверяется текущая дата и дата окончания лицензии. при несоответствии чего-то программа сообщает "срок использования истек".
Вариантов тут масса - все зависит от фантазии и квалификации программиста. Это один из вариантов (сам использовал), на самом деле их тоже великое множество.
Понятное дело, что программа сразу поставляется с готовым ключом. И при отсутствии оплаты после определенного срока ключ заново не выдается. При наличии полного расчета можно выдать вперед на сто лет.

Добавлено спустя 2 минуты 33 секунды:
Нельзя. Заказчик может и в суд подать при уничтожении (невозможности использования) каких-то там очень нужных ему данных. Прецеденты были. Чем закончилось не знаю. Не со мной (тьфу-тьфу), где-то в инете натыкался.
Вариант второй: защищаете программу самостоятельно. Вариантов масса. От квалифицированного хакера не спасет (впрочем как и в первом варианте), но если работаешь с одним заказчиком, то квалифицированному хакеру ваша программа не сдалась...
Можно использовать примерно такой способ:
- программа (точнее дополнительная утилита к программе) берет несколько строковых констант (одна из них наименование организации заказчика и одна дата окончания лицензии), и проведя над ними некоторые преобразования (шифрация, хеширование и т.д.) записывает это в определенный файл (ключевой файл). Отдельно пишется дата окончания лицензии;
- программа (основная) в определенные моменты времени производит те же действия с теми же константами и сравнивает их с там, что записано в ключевом файле. если все ОК, то проверяется текущая дата и дата окончания лицензии. при несоответствии чего-то программа сообщает "срок использования истек".
Вариантов тут масса - все зависит от фантазии и квалификации программиста. Это один из вариантов (сам использовал), на самом деле их тоже великое множество.
Понятное дело, что программа сразу поставляется с готовым ключом. И при отсутствии оплаты после определенного срока ключ заново не выдается. При наличии полного расчета можно выдать вперед на сто лет.
Добавлено спустя 2 минуты 33 секунды:
Nik писал(а):...
2. Можно встроить в программу механизм самоуничтожения через определённый срок (скажем, оговорённый вами и заказчиком срок оплаты + пара дней).
...
Нельзя. Заказчик может и в суд подать при уничтожении (невозможности использования) каких-то там очень нужных ему данных. Прецеденты были. Чем закончилось не знаю. Не со мной (тьфу-тьфу), где-то в инете натыкался.
вариант "demo-версия -> оплата -> полная версия".
Причем стоит упомянуть такому заказчику, что в demo-версии код, подпадающий под ограничение, не просто заблокирован, а реально изъят из тела программы ( встречал пару раз заказчиков, которые надеялись после получения demo-версии просто ее взломать. Видимо начитались про дизассембреры и проч... я долго смеялся и поднял цену
).
Ну и еще один момент: если продукт - это программа, предназначенная для работы занимающей много времени, то достаточно эффективно действует периодически всплывающее окно с напоминанием о том, что это все-таки демо и надо платить. Для утилит типа "запустил-отработала-закрыл" - этот момент не актуален.
Ну и как вариант садизма - ограничение работы самой программы по времени с последующим закрытием БЕЗ сохранения.
Причем стоит упомянуть такому заказчику, что в demo-версии код, подпадающий под ограничение, не просто заблокирован, а реально изъят из тела программы ( встречал пару раз заказчиков, которые надеялись после получения demo-версии просто ее взломать. Видимо начитались про дизассембреры и проч... я долго смеялся и поднял цену
Ну и еще один момент: если продукт - это программа, предназначенная для работы занимающей много времени, то достаточно эффективно действует периодически всплывающее окно с напоминанием о том, что это все-таки демо и надо платить. Для утилит типа "запустил-отработала-закрыл" - этот момент не актуален.
Ну и как вариант садизма - ограничение работы самой программы по времени с последующим закрытием БЕЗ сохранения.
- dunin
- энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
- Контактная информация:
minoshi писал(а):...встречал пару раз заказчиков, которые надеялись после получения demo-версии просто ее взломать. Видимо начитались про дизассембреры и проч... я долго смеялся и поднял цену...
Самая эффективная защита от хакера - стоимость взлома (затраченные усилия) выше стоимости программы. Взлом теряет смысл.
dunin писал(а):Нельзя. Заказчик может и в суд подать при уничтожении (невозможности использования) каких-то там очень нужных ему данных. Прецеденты были. Чем закончилось не знаю. Не со мной (тьфу-тьфу), где-то в инете натыкался.
Надо блокировать работу самой программы, а пользовательские данные не трогать.
Смотрите в сторону OnGuard для Lazarus. Здоровый пакет для защиты, первоначально разработан компанией TurboPower для Delphi, позднее стал оперсоурснным и перенесен на Lazarus.
Примерно ококло 10 схем защиты (сеть, триал, генерация серийника, ключей и кодов, регистрация, защита экзешника
, и.т.д. ) + примеры.
Примерно ококло 10 схем защиты (сеть, триал, генерация серийника, ключей и кодов, регистрация, защита экзешника
По поводу OnGuard для Lazarus. Если можно, пожалуйста, ссылочку.
http://sourceforge.net/projects/lazarus-ccr/files/OnGuard/
Лучше взять из SVN
Есть ссылки на OnGuard на wiki Lazarus, но они битые, официальный движок сайта http://www.lazarus.freepascal.org недавно поменялся, вследствие чего сломали ссылки.
http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/onguard/ - просмотр SVN через браузер.
Лучше взять из SVN
Есть ссылки на OnGuard на wiki Lazarus, но они битые, официальный движок сайта http://www.lazarus.freepascal.org недавно поменялся, вследствие чего сломали ссылки.
http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/onguard/ - просмотр SVN через браузер.
- dunin
- энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
- Контактная информация:
GrayEddy писал(а):Смотрите в сторону OnGuard для Lazarus. Здоровый пакет для защиты, первоначально разработан компанией TurboPower для Delphi, позднее стал оперсоурснным и перенесен на Lazarus.
Примерно ококло 10 схем защиты (сеть, триал, генерация серийника, ключей и кодов, регистрация, защита экзешника, и.т.д. ) + примеры.
Встроенный криптор? Зергут, спасибо. Посмотрим.
Лучшая защита программы - с десяток хмурых парней типичной сисадминской наружности. 
OnGuard вещь классная.
Одна проблема - терморектальным методом взламывается любой шифр меньше чет за сутки.
Одна проблема - терморектальным методом взламывается любой шифр меньше чет за сутки.
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
vada писал(а):терморектальным методом взламывается любой шифр меньше чет за сутки.
Хорошие специалисты управятся быстрее: http://termorect.narod.ru/
Извиняюсь за флуд/оффтоп
