Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.36.30] |
|
Сообщ.
#1
,
|
|
|
Добрый день.
Решил не подымать старые темы, а создать новую. Нужно идентифицировать ПК, на котором запущена программа (лицензия). В демо провел небольшой сбор информации и понял что привязка к серийнику раздела getVolumeInformation - не вариант, т.к. он у многих попадался одинаковый. Не знаю, может пиратскую винду используют люди которая образом ставится, или просто настолько много коллизий в DWORD значении. Код такой же, взят отсюда, это и это прочитал. На моем компьютере успешно получены значения sSerialNumber, sFirmwareRev, sModelNumber. WinXP SP3 x86. Рабоает и Scsi0 и PhysicalDrive0. Далее проверяю на имеющемся железе - везде облом: 1. Windows Server 2003 x86 EN + старый винт, возможно без смарта 2. Windows Server 2003 x86 RU + IDE HDD WD80GB (SMART должен поддерживаться) 3. Windows XP SP2 x86 + несколько SATA2 HDD - работает \PhysicalDrive0 и \С: Везде запускал из под админа. Если конкретнее, то CreateFile проходит, а следующий DeviceIoControl обламывается (false), GetLastError пишет отказано в доступе. Конечно, вариант пробивать по очереди Scsi0 и при неудаче - PhysicalDrive0, но что делать с теми машинами, на которых не работает никак? P.S. другие привязки не подходят, т.к. серийник или ключ Windows в нашей стране "одинаковый" чуть более чем у половины пользователей, getVolumeInformation и MAC адрес спокойно заменяются... |
Сообщ.
#2
,
|
|
|
А если хард поменяли?
|
Сообщ.
#3
,
|
|
|
Привязываться лучше к контроллеру жесткого диска (что, собственно винда и делает для привязки к компу). См. параметр реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Enum\0 там найдёшь Vendor ID/Device ID контроллера. |
Сообщ.
#4
,
|
|
|
Цитата Krid @ Привязываться лучше к контроллеру жесткого диска (что, собственно винда и делает для привязки к компу). См. параметр реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Enum\0 там найдёшь Vendor ID/Device ID контроллера. у меня, например, на msahci путь заканчивается. |
Сообщ.
#5
,
|
|
|
Цитата shershen @ у меня, например, на msahci путь заканчивается у меня вообще msahci нет |
Сообщ.
#6
,
|
|
|
Если хард поменяли то запросите другой ключ у автора софта. Общепринятая практика вроде бы.
Ладно, вроде бы проблема решения не имеет... |