| 
| 
 | Вопрос # 358/ вопрос открыт / | 
 |  У меня проблема, хочу зделать програму, которая реагируєт на копирование, тойсть например если её скопировали 1 раз она делает одно, 2 раза - другое, 3 раза совсем иное. Одним словом потавить счотчик на копирование! ПОМОГИТЕ ПОЖАЛУСТА!!!! Ответ #1. Отвечает эксперт: Роман Здравствуйте, Шарайчук Сергій Олександрович!Странная какая-то идея...Попробуйте поискать чего-нибудь на http://www.delphikingdom.com/ там есть материаль о защите программ от копирования и взлома.Только не ясно, а где хранить информацию о кол-ве копирований,если во внешнем файле то какой в этом смысл...Да и откуда прога копироваться будет(?) с CD? Незнаю,разве что защищать её  по ключевой дискете и запретить ей копироваться без неё и всё это дело шифровать...или электронным ключём на МК...Всёравно ломанут,да и стоит ли оно того...а цена...Вобщем:http://www.delphikingdom.com/ ...И кстати зачем всё это,смысл то в чём??? 
|  | Ответ отправил: Роман (статус: 5-ый класс)Время отправки: 26 февраля 2007, 23:01
 
 |  Ответ #2. Отвечает эксперт: Вадим К Спешу вас разочаровать, но такое практически невозможно. Если программа не запускается, то она не сможет выполнить никакого кода. В своё время группа программистов разработала большой проект по защите музыкальных дисков от копирования. Были вложены немеряные деньги. И перед окончательным выходом в свет защиту ломанули. Причём банально. Защита полагалась на то, что у пользователя включен автозапуск компакта. Стартовала маленькая прога, которая потом препятствовала копированию музыки. Но скажите, чем отличается копирование музыки на другой носитель от её воспроизведения с программной точки зрения? ничем! В любом случае её нужно вначале считать. А как вы могли догадаться, ломанули её зажатым Shift'ом. Мальчика назвали немеряным хакером и долго охотились за ним.Это был лирический отступ.
 Но если ваша программа устанавливается либо вы первоначально настраиваете её сами, то тут есть один обходной манёвр. Либо написать драйверок, который будет сидеть в памяти и перехватывать все копирования и смотреть, не моё ли - очень сложно сделать на делфи (да, да на 3 делфи можно драйвера компилить, на старших - нет) да и систему будет тормозить (ну антивирь почти:))
 Либо сделать привязку к железу. И если при запуске не совпадает номер - увеличиваем счётчик. Но если с проги сняли 2 копии, то каждая с них будет жить отдельной жизнью.
 Хотя есть идея. Вносим в программу код, на который явно будет ругаться антивирус (аля FORMAT C: и так далее) но этот код выполнятся не будет. Дальше при настройке указываем антивирю, что каталог с прогой не трогать. всё.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 26 февраля 2007, 23:31
 
 |  Ответ #3. Отвечает эксперт: Aymenel Здравствуйте, Шарайчук Сергій Олександрович!Есть еще одна идейка, но она актуальна в том случае если вашу прогу копируют а потом запускают. Суть такова:
 1)При запуске вашегл exe программа создает в том же каталоге еще один exe (который является совершенно другой программой) и запускает его.
 2)Далее созданный exe ждет заверщения вашей программы и после этого записывает в конец файла информацию о текущем положении на диске и номер копии.
 3)Далее я смутно представляю как это все будет выглядеть но суть такова, при запуске вы должны будете проверять записанную строку с текущим местоположением, в случае несовпадения счстаете программу скопированной и выполняете ......, незабывайте о создании второго exe (который будет опять заность информацию о месте хранения, также вы должны передавать ему ифу о том что вас уже скопировали, иначе вы несможете определить сколько раз ее копировали).
 
|  | Ответ отправил: Aymenel (статус: 2-ой класс)Время отправки: 27 февраля 2007, 09:43
 
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 28 февраля 2007, 11:20; участников в обсуждении: 2. 
|   | Роман (статус: 5-ый класс), 28 февраля 2007, 02:54 [#1]:Родилась тут мысль дурацкая...Можно попробовать сделать пакер который упакует в один файл вашу программу и некий файл с инфой о кл-ве скачиваний,в итоге получим exe-шник типа самораснаковывающегося архива,которуй и будет конечной программой.При запуске она распакует исходный exe-шник(собственно ваша прога) и считывает данные  о кол-ве копирований после чего к примеру проверяет номер винта и если не совпадает увеличивает счётчик копировок,а потом запускает вашу прогу с параметрами команной строки(кол-во копирований) и ваша прога уже решает что делать дальше,а при закрытии это всё надо проделать в обратном порядке...УЖАС!!! Упаковать всё в один файл соответственно увеличивая или нет счётчик копировок,а вёс что было распаковано уничтожить...гдето так.По поводу пакера-анпакера поищите Хранение нескольких различных файлов в одном исполняемом,я просто непомню адреса или писните пришлю. |  
|   | Вадим К (статус: Академик), 28 февраля 2007, 11:20 [#2]:Есть ещё одна идея. Вполне жизнеспособная, но не для нашей месности. При старте программа обращается к вашему сайту и отсылает ему идентификатор, который будет сгенерирован на основании какой-нибуть инфы. Таким образом получаете подробную статистику юзанья вашего творения. Я знаю несколько прог, которые так и поступают. Но зачем к примеру утилите по восстановлению системы (когда нет теоретически запущен не может быть лезть туды?). Сразу предупрежу, что многие пользователи с фаерволами (и я в том числе) по быстрому прикроют кислород такой проге до выяснения обстоятельств. Некоторые проги лезут в нет для якобы поиска новой версии, но снифер как всегда показывает другое. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |