Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как запретить копирование... [D5, D6, Win95/98, Win2k, WinXP]


Страницы:   1 2

MetalFan ©   (2004-08-24 15:07:00) 

стороннего запущенного исполняемого файла?
заранее спасибо за помощь!


MetalFan   (2004-09-08 17:29:00) [1]


>  ...дать на штамповку образ CD ...

не такие масштабы, чтобы диски штамповать)


Defunct   (2004-09-08 16:33:00) [2]

Рамиль ©   (08.09.04 14:22) [20]
А шилом точно получится?


Если аккуратно сделать (нагреть) - получится. Во всяком случае получалось когда защита дискет была актуальной. Сейчас проще, можно дать на штамповку образ CD с нечитаемыми секторами. (многие игры именно так и привязывают к CD). Наверно, встречали такие диски с которых Nero не может снять образ, а если снять с игнорированием ошибок, тогда игра не запускается с образа.


Anonimus   (2004-09-08 15:50:00) [3]

А что, на ЦД тоже есть сектора?
Как организована CDFS? Кинте сюда ссылку, плс.


Рамиль   (2004-09-08 14:22:00) [4]

А шилом точно получится? там ведь дырка будет с рваными деформированными краями, и нет гарантии, что через некоторое время не посыпится еще несколько секторов прилегающих к отверстию. Лазером надо, однако...


MetalFan   (2004-09-08 14:07:00) [5]

лана... буду копать...
з.ы. может есть где/у кого примеры?


MetalFan   (2004-09-08 14:07:00) [6]

лана... буду копать...
з.ы. может есть где/у кого примеры?


Defunct   (2004-09-07 19:55:00) [7]

> как это сделать то?!

под DOS - Int 13h  фунция AH=4 - Verify

Под Win32 - DeviceIOControl/DeviceIOCTL(kernel32.dll) MS-SDK


MetalFan   (2004-09-07 19:40:00) [8]


> Последовательное чтение (Read) или проверка (Verify) всех
> секторов диска

как это сделать то?!


Defunct   (2004-09-07 18:26:00) [9]

> и все-таки интересно, можно ли вытащить этот номер...

какой номер?
У носителя нет номера.

Все наиболее серьезные защиты строятся на физическом вмещательстве (разрушении) участков поверхности и последующем анализе.

> а как проанализировать поверхность?
Последовательное чтение (Read) или проверка (Verify) всех секторов диска. Номера секторов, которые не читаются - и будет вашим серийным номером носителя. Потом этот номер прошиваете в вашу программу-загрузчик, которая будет проверять уже конкретные сектора на сбой. Если при проверке всех секторов, указанных в программе-загрузчике, возникает ошибка чтения либо верификации - тогда носитель наш, и можно продолжить запуск защищенной программы, иначе - выход с сообщением о нелегальной копии.


MetalFan   (2004-09-07 18:18:00) [10]


> У вас есть шило или отвертка? Делаете дырку в поверхности
> носителя, анализируете поверхность, устанавливаете какие
> сектора нечитаются - вот вам и серийный номер носителя,
> причем апаратно вшитый, и который нельзя повторить.

ну это как вариант... а как проанализировать поверхность?
и все-таки интересно, можно ли вытащить этот номер...


Defunct   (2004-09-07 17:44:00) [11]

> а еще вот вопрос: есть ли способы получения серийных номеров носителей, кроме GetVolumeInformation ?

У вас есть шило или отвертка? Делаете дырку в поверхности носителя, анализируете поверхность, устанавливаете какие сектора нечитаются - вот вам и серийный номер носителя, причем апаратно вшитый, и который нельзя повторить.


Defunct   (2004-09-07 17:39:00) [12]

MetalFan ©   (25.08.04 11:21) [6]

Двигаетесь в правильном направлении. Еще я бы посоветовал нестандартное форматирование или привязка к bad секторам диска.


debuger   (2004-09-07 17:15:00) [13]

Я просто не пишу еще с доса. А что, уже нельзя подгрузить тот отсаток файла в память, и передать через гоу-то передать ему управление? Или файл не влезет в память?


MetalFan   (2004-09-07 15:39:00) [14]

2PVOzerski
big thnx за совет!

а еще вот вопрос: есть ли способы получения серийных номеров носителей, кроме GetVolumeInformation ?


PVOzerski   (2004-09-07 15:28:00) [15]

Раз придумал, теперь всем советую.
Проверять соответствия длинных и коротких имен файлов. Естественно, при инсталляции их сочетания должны быть нетривиальными. Например, пакет из 1 exe и 3 dll может выглядеть так:

main.exe MAIN.EXE
modulelib1.dll MODULE~9.DLL
modulelib2.dll MODULE~1.DLL
modulelib3.dll MO4123~1.DLL

Хотя от программ копирования образов дисков такая защита бессильна, от обычного копирования она защищает замечательно, так как либо (если копирование по длинным именам) короткие имена будут сгенерены заново совсем другими, либо будут потеряны имена длинные (если копировать из DOS, например).


MetalFan   (2004-09-07 12:41:00) [16]

((((


MetalFan   (2004-08-30 12:31:00) [17]

тишина...


MetalFan   (2004-08-25 11:21:00) [18]

пока реализовано так:
есть мой exe к которому в конец приписывается некая инфа+другой exe, который и необходимо защитить.
в инфе собдержится серийный номер диска, с которого можно запустить его. при запуске проверяется серийный номер носителя, с которого осуществляют запуск. (с помощью ф-ции GetVolumeInformation)
и если все ок "приатачченый" exe записывается во временную директорию виндов и запускается... это и есть самое слабое место( т.к. его в этот момент можно спокойно скопировать((( что можете здесь посоветовать?


Erik1   (2004-08-25 11:13:00) [19]

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


MetalFan   (2004-08-25 11:09:00) [20]

стандартными методами никак? (
мне нужно написать простейшую защиту от копирования для любого стороннего exeшника.
т.е. разрещить запуск его только с дискеты, или CD.
вот. можете хоть подсказать, в каком напрвалении двигаться?
наверное придется городить что-то типа вируса...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо