Под 64бита же на первый взгляд все выглядит намного грустнее - на aatomSysLoaded всего три ссылки вида lea и они крайне неудобны для поиска.
Однако если запустить мой замечательный IDA plugin, то ссылок на aatomSysLoaded становится уже целых пять штук ! И среди них есть например вот такой кусок кода в ф-ции xxxLoadHmodIndex:
lea r14, cs:0FFFFF97FFF000000h
lea rdx, [rsp+498h+SourceString]
41 B8 04 01 00 00 mov r8d, 104h
41 0F B7 8C 76 40 movzx ecx, word ptr [r14+rsi*2+2DA440h] ; 0FFFFF97FFF2DA440h
call UserGetAtomName
FFFFF97FFF2DA440 - это например и есть нужный адрес. В rd8 загружается 3ий аргумент для вызова UserGetAtomName, а в rcx - атом из нужной нам таблички. Соотв-но поиск упрощается до сигнатуры
41 B8 04 01 00 00 41 0F B7 YY ZZ XX XX XX XX
Здесь байты XX дадут нам смещение на aatomSysLoaded от начала модуля win32k.sys. Легко можно убедиться что такая сигнатура является уникальной для всего модуля как под windows 7, так и под все версии vista
Точно так же можно найти subj под 64битными w2k3/xp - только сигнатура будет другой. Какой именно - оставляю вам в качестве домашнего задания, бгг
Комментариев нет:
Отправить комментарий