Контрразведка с soft-ice в руках

копия таблицы системных вызовом, хранящаяся внутри NTOSKRNL.EXE


А если отладочных символов нет? Тогда находим все перекрестные ссылки к KeServiceDescriptorTable

(т. е. просто ищем ее адрес, записанный с учетом обратного порядка байт на x86, задом наоборот). Одна из них ведет к инструкции типа "mov [mem], imm32" и представляет собой смещение оригинальной SST (imm32), записываемой в KeServiceDescriptorTable[0]. Как нетрудно убедиться дизассемблером, изначально SDT пуста и инициализируется на стадии загрузки ядра не экспортируемой функцией KiInitSystem.

.data:0046AB80 ; Exported entry 516. KeServiceDescriptorTable

.data:0046AB80 public _KeServiceDescriptorTable

.data:0046AB80 _KeServiceDescriptorTable dd 0



Содержание раздела