Como obtenho o endereço dos módulos do kernel nt e win32k?
-
12-12-2019 - |
Pergunta
Preciso saber os endereços base onde o nt e o win32k são carregados.Posso descobrir essas informações inicializando o sistema com a depuração do kernel habilitada, iniciando uma sessão de depuração do kernel e executando o comando lm
para obter uma lista dos módulos carregados.
O que eu quero fazer é determinar programaticamente onde esses dois módulos são carregados sem inicializar no modo de depuração e usar o depurador de kernel.Preciso dos endereços básicos para resolver syscalls em um arquivo de log do Event Tracing for Windows.
O sistema em que estou trabalhando está executando o Windows Server 2008 R2.
Solução
A lista de módulos do kernel carregados e endereços base (incluindo ntoskrnl
) é armazenado na lista apontada por PsLoadedModulesList
símbolo.Ou use ZwQuerySystemInformation(SystemModuleInformation)
em vez de.
Para informações detalhadas consulte http://alter.org.ua/docs/nt_kernel/procaddr/