我需要知道加载nt和win32k的基址。我可以通过在启用内核调试的情况下启动系统来查找此信息,启动内核调试会话,并运行命令lm
以获取已加载模块的列表。
我想要做的是以编程方式确定加载这两个模块的位置,而无需启动到调试模式和使用内核调试器。我需要基本地址来解析Windows事件跟踪日志文件中的系统调用。
我正在使用的系统正在运行Windows Server 2008 R2。
答案 0 :(得分:11)
加载的内核模块和基址(包括ntoskrnl
)列表存储在PsLoadedModulesList
符号指向的列表中。
或者改为使用ZwQuerySystemInformation(SystemModuleInformation)
。