我使用 Qemu 及其内部 GDB 服务器将 IDA Pro 附加到 Windows 8 x64 实例。
有一些问题需要解决,因为当我连接到GDB服务器时,我只是看到一堆内存。
- 检测
ntoskrnl.exe
基地址 - 在这堆内存中查找所有加载的模块
- 最后分析检测到的模块以获得导出的名称和类似的东西
我能够用这个脚本解决第一部分。
该脚本尝试获取每个加载模块的 pdb 信息,但我想让 IDA 分析加载的模块本身,因为 PE 标头中已经有所有需要的信息(我认为)。这可以用 IDA 还是用 IDAPython 实现?
编辑:我能够使用以下命令为每个检测到的段设置一个模块:
from idaapi import module_info_t
current_module = module_info_t()
current_module.base = 0xFFFF...
current_module.size = 1234
current_module.name = "ntoskrnl.exe"
idaapi.add_virt_module(current_module)
但是如果我激活“分析模块”,什么也不会发生。是否有可能内存中的 PE 标头不完整?