Сейчас на форуме: vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› С помощью какой API достается номер жесткого диска?
Посл.ответ Сообщение

Ранг: 30.1 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 07 марта 2016 15:46 · Поправил: Kuzya69
· Личное сообщение · #1

Есть программа GetHardwareID.exe. Не могу понять какую API мониторить, чтобы поймать момент, когда программа запрашивает номер жесткого диска.
1). В Regmon-е не нашел ничего похожего на запрос номера харда.
2). Когда ставил ВР на DeviceIoControl, то не было ни одной команды
IoControlCode=SMART_RCV_DRIVE_DATA = $07C088;
Подскажите пожалуйста, какую API надо мониторить в моем случае.

Чего-то файл через форум не прицепился. Попробую так.
https://yadi.sk/d/fTRgT1QwpxrpN




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 07 марта 2016 15:56 · Поправил: Kindly
· Личное сообщение · #2

Kuzya69
WinLicense Hardware ID.
Я тоже такие файлы делаю, чтобы сгенерить лицензию для потенциальных покупателей
А вы, видимо, пытаетесь взломать чей-то кряк.

-----
Array[Login..Logout] of Life




Ранг: 30.1 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 07 марта 2016 16:29
· Личное сообщение · #3

Да это-ж не кряк. Пытаюсь понять как HWID генерится в этой программе.
Не понятно почему для двух разделов HWID одинаковый, а для третьего другой. Но это так отступление.

Что значит "WinLicense Hardware ID"? Не вижу такой АПИ.




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 07 марта 2016 17:02
· Личное сообщение · #4

Kuzya69 пишет:
Что значит "WinLicense Hardware ID"? Не вижу такой АПИ.

Это система лицензирования и протектор. Скачайте WinLicense и покурите SDK.

-----
Array[Login..Logout] of Life




Ранг: 30.1 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 07 марта 2016 17:24 · Поправил: Kuzya69
· Личное сообщение · #5

Kindly пишет:
Это система лицензирования и протектор. Скачайте WinLicense и покурите SDK.

Забыл поставить в последнем сообщении ""
Что это протектор и система лицензирования, понятно. Но каким АПИ она берет номер харда? Не уж-то они вообще в обход виндовых библиотек это делают? Мне важно только место, откуда берется номер харда.
Потому что прога (та которая под номер харда зарегана) на двух разделах работает, а на третьем нет.



Ранг: 12.2 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 07 марта 2016 18:15 · Поправил: srm60171
· Личное сообщение · #6

Kuzya69 пишет:
на двух разделах работает, а на третьем нет

ZwQueryVolumeInformationFile

Kuzya69, у вас два диска?



Ранг: 30.1 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 07 марта 2016 18:26 · Поправил: Kuzya69
· Личное сообщение · #7

srm60171 пишет:
ZwQueryVolumeInformationFile

Это не то потому, что номера всех разделов разные. А вот HWID подсчитанный прогой из аттача на двух разделах одинаковый, и в этих разделах лицензия подходит программе. VolumeInformation - это инфа о разделах, а не о харде в целом.
srm60171 пишет:
Kuzya69, у вас два диска?

Диск один в ноутбуке. Разделен на 3 раздела. В каждом разделе одинаковые WindowsXP.
Самое странное, что прога (зареганная с помощью номера из аттача) запускается из одного активного и одного логического раздела. Из другого логического раздела не запускается.



Ранг: 12.2 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 07 марта 2016 18:58 · Поправил: srm60171
· Личное сообщение · #8

Kuzya69 пишет:
Когда ставил ВР на DeviceIoControl, то не было ни одной команды

Повтори с ZwDeviceIoControlFile. WL делает дубли системных библиотек.
Запрос SMART_RCV_DRIVE_DATA там есть.

В общем, не забывай про ZwQueryVolumeInformationFile, в конечном счете ответ будет в ней.



Ранг: 30.1 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 07 марта 2016 19:11 · Поправил: Kuzya69
· Личное сообщение · #9

srm60171 пишет:
Запрос SMART_RCV_DRIVE_DATA там есть.

Я уже писал, что нету. Я не на самой ф-ции останавливался. А...
Code:
  1. 7C801629 > $  6A 14         PUSH 0x14                                ; DeviceIoControl (if [esp+8]=07C088=SMART_RCV_DRIVE_DATA)
  2. 7C80162B   .  68 2810817C   PUSH kernel32.7C811028
  3. 7C801630   .  E8 A10E0000   CALL kernel32.7C8024D6
  4. ---------
  5. 7C8024D6 >/$  68 489B837C   PUSH kernel32.7C839B48                   ; if [esp+14]=07C088=SMART_RCV_DRIVE_DATA

... на 7C8024D6, то-есть если WL завиртуализовала DeviceIoControl, то внутренность CALL kernel32.7C8024D6, она не тронет.



Ранг: 12.2 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 07 марта 2016 19:20
· Личное сообщение · #10

Kuzya69 пишет:
то внутренность CALL kernel32.7C8024D6, она не тронет.

сама наивность
Намекаю: дубль системной библиотеки, другой базовый адрес у копии которая вызывается

Kuzya69 пишет:
Я уже писал, что нету.

http://rghost.ru/7bs454NVH.view

| Сообщение посчитали полезным: Kuzya69
 eXeL@B —› Вопросы новичков —› С помощью какой API достается номер жесткого диска?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати