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

 eXeL@B —› Основной форум —› Помогите с NVKEYNT.SYS
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 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 – справляется частично так как не поддерживает трансформы.



Ранг: 62.3 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 14 августа 2007 10:44 · Поправил: Faza
· Личное сообщение · #2

Если хочешь разгребать драйвера, то сначало прочитай цикл статьей на Wasm.ru "Драйверы режима ядра" от Four-f www.wasm.ru/series.php?sid=9 прочитав хотя бы пару статьей сможешь понять как управляются драйвера (рекомендую прочитать все ).

А так в общем, отлавливай DevaceIoControl и смотри параметр команды , а дальше в драйвере, где он ее будет обрабатывать.



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

Создано: 14 августа 2007 11:07
· Личное сообщение · #3

а если хочешь разгребать nvkeynt, сначала напиши деобфускатор



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 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





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 августа 2007 14:04
· Личное сообщение · #5

Faza пишет:
Если хочешь разгребать драйвера


В том то и дело, что не хочу. Статьи бегло глянул - мозг плавится... Хочется пойти более простым путём.

Faza пишет:
А так в общем, отлавливай DevaceIoControl и смотри параметр команды


То есть, я делаю перехват CreateFileA и запоминаю дескриптор устройства если это \.\NVKEYNT, далее отлавливаю DeviceIoControl с соответствующим dwIoControlCode и подменяю возврат lpOutBuffer ? В dwIoControlCode и будет передаваться код функций nskCheck, nskSetMode, nskCodeInit, nskEnCode, nskDeCode, nskCRC, nskTransform, nskRead ?

А исходники lzdc может кто нибудь дать ? Я так понял они давно на паблике ?



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

Создано: 14 августа 2007 14:13
· Личное сообщение · #6

ToBad пишет:
А исходники lzdc может кто нибудь дать ? Я так понял они давно на паблике ?

на dongla.net посмотри




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 августа 2007 15:26
· Личное сообщение · #7

ssx пишет:
на dongla.net посмотри


Спасибо !

А ссылочку на GIAEmulator версии 2.5 или выше можно ?



Ранг: 19.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 августа 2007 22:35 · Поправил: st47k3r
· Личное сообщение · #8

ToBad

Линк: --> тут-та <-- - 847 Kb

В составе:
- GiA Emulator 2.6
- GiA Emulator 2.7
- GiA Logger 2.1

Пароль: www.exelab.ru




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 15 августа 2007 09:36
· Личное сообщение · #9

st47k3r - Большое спасибо !

В своём вопросе нашёл такое решение:

1) В импорт добавляю то dll о которой писал выше с реализованными функциями гварданта.
2) Определяю функции по "Перечень начальных команд для функций гвардант АПИ" от Larry.
3) Вызываю функции со своей библиотеки.

В общем всё оказалось намного проще, чем я думал, изучение работы драйверов и написание эмулятора не понадобилось для этой задачи. Конечно это благодаря незащищённости исходного EXE и отсутствия конверта.

Всем спасибо за помощь и советы !




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 15 августа 2007 11:48
· Личное сообщение · #10

st47k3r пишет:
Линк: --> тут-та <-- - 847 Kb

В составе:
- GiA Emulator 2.6
- GiA Emulator 2.7
- GiA Logger 2.1

Пароль: www.exelab.ru


Пароль не подходит. У кого-нибудь получилось открыть ?




Ранг: 114.4 (ветеран), 21thx
Активность: 0.040.01
Статус: Участник

Создано: 15 августа 2007 18:43
· Личное сообщение · #11

А скажи прогу, которую ломаешь.



Ранг: 19.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 августа 2007 12:23
· Личное сообщение · #12

ToBad

Пароль - правильный. Перепроверил еще раз.
Я пользуюсь PowerArchiver v 10.
Он, похоже, "свой" алгоритм для шифрования применяет. AES-128. Наверно не все поддерживают, как я понимаю..
Щас перезалью..



Ранг: 19.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 августа 2007 12:28
· Личное сообщение · #13

ToBad

--> тут-та <-- - 821 Kb

Пароль: www.exelab.ru
Этот - должен открываться "всеми" zip-ами.

"Комплект" - тот же.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 16 августа 2007 16:18
· Личное сообщение · #14

st47k3r пишет:
Этот - должен открываться "всеми" zip-ами.


Спасибо ! Теперь всё открывается.


 eXeL@B —› Основной форум —› Помогите с NVKEYNT.SYS
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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