Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 358

/ вопрос открыт /

У меня проблема, хочу зделать програму, которая реагируєт на копирование, тойсть например если её скопировали 1 раз она делает одно, 2 раза - другое, 3 раза совсем иное. Одним словом потавить счотчик на копирование! ПОМОГИТЕ ПОЖАЛУСТА!!!!

Шарайчук Сергей Олександрович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Шарайчук Сергей Олександрович (статус: 2-ой класс)
Вопрос отправлен: 26 февраля 2007, 21:49
Состояние вопроса: открыт, ответов: 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]:

Есть ещё одна идея. Вполне жизнеспособная, но не для нашей месности. При старте программа обращается к вашему сайту и отсылает ему идентификатор, который будет сгенерирован на основании какой-нибуть инфы. Таким образом получаете подробную статистику юзанья вашего творения. Я знаю несколько прог, которые так и поступают. Но зачем к примеру утилите по восстановлению системы (когда нет теоретически запущен не может быть лезть туды?). Сразу предупрежу, что многие пользователи с фаерволами (и я в том числе) по быстрому прикроют кислород такой проге до выяснения обстоятельств. Некоторые проги лезут в нет для якобы поиска новой версии, но снифер как всегда показывает другое.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:32
Выполнено за 0.03 сек.