Сейчас на форуме: vasilevradislav, tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Извлечение данных из CTL_CODE
Посл.ответ Сообщение

Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 05 февраля 2008 16:23
· Личное сообщение · #1

При перехвате DeviceIoControl возник вопрос как извлечь информацию из IoControlCode:
#define CTL_CODE( DeviceType, Function, Method, Access ) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) )
А именно: DeviceType, Function, Method, Access?

-----
продавец резиновых утёнков




Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 05 февраля 2008 16:49
· Личное сообщение · #2

не вижу проблемы. младшие биты - method, дальше function etc. накладываешь маску и выбираешь что нужно.



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 05 февраля 2008 17:10 · Поправил: HiEndsoft
· Личное сообщение · #3

DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xffff0000)) >> 16)
Method=ctrlCode & 0x00000003

а для других маски какие должны быть, что-то я туплю..

-----
продавец резиновых утёнков





Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 05 февраля 2008 19:03
· Личное сообщение · #4

держи.

7cb1_05.02.2008_CRACKLAB.rU.tgz - IoctlDecoder.zip



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 05 февраля 2008 21:02 · Поправил: HiEndsoft
· Личное сообщение · #5

Спасибо конечно, но мне надо алго на сях или асм, а не готовый сорс. Тем более, к примеру код 0001201F эта софтина определяет как обращение к FILE_DEVICE_BEEP, когда это на самом деле AFD (FILE_DEVICE_NETWORK).

-----
продавец резиновых утёнков




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 05 февраля 2008 23:33 · Поправил: HiEndsoft
· Личное сообщение · #6

Все, респект ssx . Все было просто и правильно. Булева алгебра, блин. Тема закрыта.

-----
продавец резиновых утёнков



 eXeL@B —› Программирование —› Извлечение данных из CTL_CODE
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати