Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Re[3]: Get Serial Number HDD / C++ -> Delphi (+ CPU SERIAL, BIOS ID)

(Копию письма кидаю в рассылку - может, кто добавит информации по теме
защиты от копирования?)

Привет, Ярослав, спасибо за исходники, буду смотреть (хотя DiskId уже
нашел - но у меня не было WinIO и варианта на Дельфи!). Пожалуй, вышлю тебе
более свежую версию DiskId (c http://www.winsim.com/diskid32/diskid32.html),
с собственным[DiskId] vxd для Win95/98, новыми способами для NT/2000, см
info.txt. В Win95/98 есть еще способ чтения HDD Serial из стандартной
SmartVsd.vxd (хотя у меня не получается пока, только в Win2000 из
\\.\PHYSICALDRIVE0). Прилагаю исходник от Microsoft (SmartApp.zip; из
Q208048). И еще где-то скачал DevId.rar, тоже работающий.

Держи в Texts.zip статью про драйверы (и заодно статью c
http://www.neva.ru/mgook/p3/p3-otr.htm про CPUID, по которой серийник
процессора читать учился). Также можно писать драйвер для защищенного
режима - там для чтения физ. памяти понадобятся функции
MmAllocatePagesForMdl, InitializeObjectAttributes, ZwCreateSection,
ZwMapViewOfSection, ZwUnmapViewOfSection [требуют IRQ0; а может, будут
работать и из приложения при админ. правах??] из kernel.dll, ntdll.dll
(описаны в wdm.h and ntddk.h, winternl.h из Microsoft DDK - Driver
Development Kit, на сайте Microsoft просто так не дают, но доступны здесь
(~45 Мб): http://club.shelek.com/viewfiles.php?id=3&type=3,
http://windriver.ssarang.net/pds/DDK_XP.ISO).

Исходников HardInfo нет - платные, в открытом виде в инете не нашел; адреса
автора wjhw***@2*****.com (кажется, нерабочий) и wjhw***@y*****.com; сайта нет.
Воодушевляет описание с torry.ru: Hardinfo is pure Delphi component to get
Hard disk serial number, model number, firmware revision, BiosID, CpuID
which not the volume number or something from registry but direct get from
the hareware interface. No additional Vxd or DLL needed, compatible with
Windows95/ 98/ NT/ 2000/ XP. Однако в Win98 у меня эта прога упала (архив с
exe могу прислать, 230 кб)

Описка - $FFFF5 - везде подразумевалась дата. Кстати, вычитал, что в новых
BIOS может быть формат не xx\xx\xx, а xx\xx\xxxx (на конце даты #0 вроде
всегда).
С BIOS я пока остановился на варианте: 95/98 - читаю напрямую из памяти,
NT/2000 - запускаю маленький DOS-EXE (который создаю налету), и он читает
память BIOS, возвращает в случайный файл. Проверил, работает и в XP, и
должно работать без админ. прав (в отл. от прямого чтения BIOS).
На одной из машин BiosName, BiosSerialNo - вернуло "@", BiosCopyRight
пустой - только BiosDate верный.

Да, можно просто CPUSerial+BIOSDate.
Я думаю ограничиться CPUID&Serial+BIOSDate&Serial+HDDSerial+PCIDrivers
(PCI-устройства - как дополнительное, из реестра
HKEY_LOCAL_MACHINE\Enum\PCI\ или
HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Enum\PCI\; но если взломщик
меняет реестр надолго, думаю, система может навернуться [а проверки делаю
периодически в случайные моменты времени])

Пока вся информация у меня по теме. Пиши, если будет что новое, я также
напишу

P.S. На www.delphikingdom.ru много дискуссий про защиту от взлома кода
(дебаггерами, дизассемблерами). В целом, предлагают шифровать код (есть
какие-то примеры) и - важно - выполнять независимые проверки в разных частях
кода - не сводить к единственному
if проверка_ок then работаю else выход. Еще - дату читать не из Now, а путем
создания файла и чтения его даты создания :)
Номер выпуска : 1679
Возраст листа : 135
Количество подписчиков : 378
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/69868
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "VladS" Tue, 3 Feb 2004 01:52:44 +0300 (#69868)