Сейчас на форуме: rtsgreg1989, zds, _MBK_ (+5 невидимых) |
![]() |
eXeL@B —› Основной форум —› Помогите с NVKEYNT.SYS |
Посл.ответ | Сообщение |
|
Создано: 14 августа 2007 10:16 · Личное сообщение · #1 Однажды делал эмулятор Guardant для одной программки под XP переписав файл nvskey32 который она использовала. Имея дамп ключа переписал все использующиеся программой функции из этого модуля: nskCheck, nskSetMode, nskCodeInit, nskEnCode, nskDeCode, nskCRC, nskTransform, nskRead. Теперь возникла необходимость сделать тоже самое с программой которая обращается через \.\NVKEYNT Я так понял, что капать нужно в сторону c:\windows\system32\drivers\ NVKEYNT.sys Но, заглянув в него, не увидел знакомых nskCheck, nskRead и т.д. наработки по которым уже имеются. Написать свой драйвер – знаний не хватит, хочу просто переназначить вызовы соответствующих функций из драйвера на свой уже готовый модуль. В какую сторону рыть ? p.s. Дамп снимал логгером от GiA, но GIAEmulator2.5 почему то не эмулирует, lzdc – справляется частично так как не поддерживает трансформы. ![]() |
|
Создано: 14 августа 2007 10:44 · Поправил: Faza · Личное сообщение · #2 Если хочешь разгребать драйвера, то сначало прочитай цикл статьей на Wasm.ru "Драйверы режима ядра" от Four-f www.wasm.ru/series.php?sid=9 прочитав хотя бы пару статьей сможешь понять как управляются драйвера (рекомендую прочитать все ). А так в общем, отлавливай DevaceIoControl и смотри параметр команды , а дальше в драйвере, где он ее будет обрабатывать. ![]() |
|
Создано: 14 августа 2007 11:07 · Личное сообщение · #3 |
|
Создано: 14 августа 2007 11:12 · Личное сообщение · #4 ToBad Вот так я делал для сентинела (давно правда было, тогда еще .vxd были), тут наверняка как-то так же. Кусок из своей дровины: VxD_PAGEABLE_CODE_SEG BeginProc OnDeviceIoControl assume esi:ptr DIOCParams .if [esi].dwIoControlCode==DIOC_Open xor eax,eax .elseif [esi].dwIoControlCode==1 mov edi, dword ptr [esi+10h] pusha call Decrypt ; расшифровка пакета, передаваемого дровине popa cmp byte ptr [edi+30h], 08h ; параметры вызова, .т.е. какую функцию ключа вызвала прога jz @FindFirstNextUnitProc ..... ----- SaNX ![]() |
|
Создано: 14 августа 2007 14:04 · Личное сообщение · #5 Faza пишет: Если хочешь разгребать драйвера В том то и дело, что не хочу. Статьи бегло глянул - мозг плавится... Хочется пойти более простым путём. Faza пишет: А так в общем, отлавливай DevaceIoControl и смотри параметр команды То есть, я делаю перехват CreateFileA и запоминаю дескриптор устройства если это \.\NVKEYNT, далее отлавливаю DeviceIoControl с соответствующим dwIoControlCode и подменяю возврат lpOutBuffer ? В dwIoControlCode и будет передаваться код функций nskCheck, nskSetMode, nskCodeInit, nskEnCode, nskDeCode, nskCRC, nskTransform, nskRead ? А исходники lzdc может кто нибудь дать ? Я так понял они давно на паблике ? ![]() |
|
Создано: 14 августа 2007 14:13 · Личное сообщение · #6 |
|
Создано: 14 августа 2007 15:26 · Личное сообщение · #7 |
|
Создано: 14 августа 2007 22:35 · Поправил: st47k3r · Личное сообщение · #8 ToBad Линк: --> тут-та <-- - 847 Kb В составе: - GiA Emulator 2.6 - GiA Emulator 2.7 - GiA Logger 2.1 Пароль: www.exelab.ru ![]() |
|
Создано: 15 августа 2007 09:36 · Личное сообщение · #9 st47k3r - Большое спасибо ! В своём вопросе нашёл такое решение: 1) В импорт добавляю то dll о которой писал выше с реализованными функциями гварданта. 2) Определяю функции по "Перечень начальных команд для функций гвардант АПИ" от Larry. 3) Вызываю функции со своей библиотеки. В общем всё оказалось намного проще, чем я думал, изучение работы драйверов и написание эмулятора не понадобилось для этой задачи. Конечно это благодаря незащищённости исходного EXE и отсутствия конверта. Всем спасибо за помощь и советы ! ![]() |
|
Создано: 15 августа 2007 11:48 · Личное сообщение · #10 st47k3r пишет: Линк: --> тут-та <-- - 847 Kb В составе: - GiA Emulator 2.6 - GiA Emulator 2.7 - GiA Logger 2.1 Пароль: www.exelab.ru Пароль не подходит. У кого-нибудь получилось открыть ? ![]() |
|
Создано: 15 августа 2007 18:43 · Личное сообщение · #11 |
|
Создано: 16 августа 2007 12:23 · Личное сообщение · #12 |
|
Создано: 16 августа 2007 12:28 · Личное сообщение · #13 ToBad --> тут-та <-- - 821 Kb Пароль: www.exelab.ru Этот - должен открываться "всеми" zip-ами. ![]() "Комплект" - тот же. ![]() |
|
Создано: 16 августа 2007 16:18 · Личное сообщение · #14 |
![]() |
eXeL@B —› Основной форум —› Помогите с NVKEYNT.SYS |