Каким образом получать адреса неэкспортируемых в ntoskernrl.exe функций не через SDT? Вроде есть методы, но какие - то неподъемные. Есть ли документированный способ доступа к недокументированному ?
Поиск по форуму рулит sdt_idx = *(ULONG *) ((char *) ZwQueryDirectoryFile + 1); Дальше вызов через int 2Eh под 2000 или поиск адреса в SDT и прямой вызов во всех ОС
Ключевой момент - НЕ через SDT. Т.е. получается, что существует только два способа - через int2Eh и через SDT. А нельзя импотротом из ядра ? Если ntdll.lib прилинковать, то вроде как функции появляются, НО при запуске получаю - The specified procedure could not be found. MmGetSystemRoutineAddress() выдает 0х00. В общем можно получить адрес следующим образом - POldCode Func = (POldCode)NtOpenProcess; - или это только для документированных функций ?
>>ZwWriteVirtualMemory? KeAttachProcess, открыл память по записи, записал чего хотел, закрыл, KeDetachProcess. Почему для всего всегда нужны какие-то функции? :-/ >>ZwCreateThread? Зачем? Создать юзермодовский поток?