| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > защита копии программы |
| Автор: yogin 28.11.2011, 16:21 |
| Приветствую. Тема такая: Нужно без опаски доверять программу клиентам(лицам) для личного администрирования. Прога - севрер для обслуживания определённых клиентских программ. Если бы сервак стоял только у меня, то я бы не беспокоился о том, что клиенты могут подключаться только в таком кол-ве, в каком доступно. Вообщем полный контроль у меня был бы. А в схеме по доверению сервера я беспокоюсь за то, что пользователь может вскрыть сервак, в котором я зашью например сколько клиентов он может обрабатывать и всё, будет пользоваться им безвозмездно... К тому же например чтобы я сам мог мониторить каждый сервак, зашью в них посылку идентификации на какой они машине работают, пусть посылают эту инфу например на хостинг гет запросом, и я буду видеть какой серв, где и как работает, смогу подключаться к нему например суперадмином и мониторить что там как. Это могут обрубить? Вот собственно и вопрос, как мне быть спокойным? Собственные идеи: 1) заранее подготавливать копию сервера для определённого компьютера, где бы он проверял ip на котором работает и если что-то не так, то отказывался бы работать. 2) посылка гет запросов на хостинг о том, что такой-то сервер работает на таком-то ip. после чего я смогу подключиться к нему и промониторить, если что-то не так, то отправлять команды по блокировке действий. Что посоветуете? Что будет являтся достаточно надёжным? |
| Автор: valentos 29.11.2011, 09:23 |
| 1 идея имеет право на жизнь. В этом случае организуется нейкая защита от копирования. Только привязка к IP неподойдет (Он может изменяться). Привязываться надо к железу, которое не меняется со временем. Например привязаться к данным о процессоре и маме (например по серийникам), связать их вместе, вот тебе и ключ с лицензией на один компьютер.. |
| Автор: yogin 29.11.2011, 13:27 | ||
А дезассемблированием такую проверку в программе могут свести на нет? Например сервак где-то в коде проверяет на какой машине его запустили и если что, закрывается. Вот я про это место проверки имею ввиду, это могут как-то обойти? И если всётаки такое могут обойти, то поможет ли если функции проверки разместить в dll'ке? Это как бы получается вопрос - dll'ку сложнее сломать чем программу? |
| Автор: Frees 29.11.2011, 14:10 | ||
ИМХО разницы нет, кроме того программу можно изменить так чтоона перестанет обращаться к длл. Можно аппаратную защиту рассмотреть. а можно просто в тексте лицензии запретить распространение, а нарушителей в суд. PS тема широко рассмотрена воспользуйся поиском |
| Автор: valentos 29.11.2011, 14:22 | ||
Насколько я знаю по конвенции об авторских правах, с момента опубликования программы, автор таким правом уже наделен. Осталось ток написать программу-шпион, которая будет висеть в процессах и проверять, если exe файл программы появился в буфере обмена, то она автоматом будет генерировать иск в суд |
| Автор: yogin 29.11.2011, 17:17 | ||
Ну вот я и имею ввиду, что ктонить может быть посчитает выгодным нанять кулхацкера и "перепрошить" сервер под себя и безвозмездно потом юзать неограниченно. Ещё насчёт взлома я думаю должен вставать вопрос, а не выгоднее ли будет злоумышлиннику написать аналог, нежели нанимать кулхацкера... я просто не знаю цен вопросов по взломам. А насчёт 100%-й защиты, то я и выбираю, оставить сервера у себя закрытыми или всё же раздавать, перебросив этим самым содержание сервака на плечи заказчика. Щас, например, вырисовывается пока такая идея защиты - сервак берёт что-нить от железа, шлёт на хостинг, оттуда ему разрешение или запрет на работу. И такую проверку устроить например раз в минуту. Плюсом к этому посылка из другой части проги информации с целью знать адрес и порт сервака, чтобы мониторить уже самому спецклиентом. Думаю если даже первую проверку условия найдут, например шагая от точки закрытия проги, и как-то обойдут, то на второй гет запрос внимания может не обратят. |
| Автор: pseud 29.11.2011, 17:25 | ||
| yogin, Прога при запуске генерит некую строку (привязываясь к железу и шифруя) определенной длины. Например, 'ABC123' Далее она ищет файл лицензии 'ABC123.lic'. 1. Находит. 2. Не находит. 1. Находит: Он конечно зашифрован. Съедает его. Расшифровывет и достает нужную инфу, в том числе "максимальное количество клиентских подкулючений". И работает. 2. Не находит: Выдает на экран месагу
Пользователи звонят разработчику (продавцу) и сообщают имя требуемой лицензии. Разработчик запускает прогу генерации лицензий. Вбивает имя лицензии. Выставляет нужные параметры, в том числе "максимальное количество клиентских подкулючений". Генерит файл (зашифрованный) и отсылает пользователям. Далее пункт 1. |
| Автор: Akella 1.12.2011, 15:17 |
| yogin, а если использовать готовые решения? Тебе наверное в этот раздел: http://forum.vingrad.ru/tech-piracy-protect-software.html |