You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IDA中查看Win64系统Wow64子进程地址空间内加载的全部DLL

查看Wow64进程中32位与64位DLL的方法

Wow64子系统会为32位进程维护两个独立地址空间:32位兼容空间(加载32位模块)和64位内核过渡空间(加载64位核心模块如ntdll.dll)。以下是具体查看方法:

一、查看32位模块(IDA直接操作)

加载32位PE文件后,可通过两种方式获取32位DLL列表:

  • 按下Ctrl+Shift+M打开Modules窗口,直观查看所有加载到32位地址空间的模块(含32位ntdll.dll)。
  • 在IDA输出窗口执行IDC脚本:
    for (auto m = get_first_module(); m != BADADDR; m = get_next_module(m)) {
        print(get_module_name(m), "\n");
    }
    
    脚本会自动打印所有32位模块名称。

二、查看64位模块(需结合系统工具或调试)

64位模块运行在独立的64位地址空间,无法通过静态分析直接获取,可通过以下方式查看:

方法1:系统命令行工具

  1. 在IDA调试时,通过Debugger > Process info获取目标32位进程的PID。
  2. 以管理员身份打开命令提示符,执行:
    tasklist /m /fi "PID eq [进程PID]"
    
    命令输出会列出所有加载的模块,通过路径区分:C:\Windows\System32\ntdll.dll是64位版本,C:\Windows\SysWOW64\ntdll.dll是32位版本。

方法2:进程工具辅助

使用Process Explorer找到目标32位进程,右键选择Properties > Image,切换到Modules标签页,可查看全量模块列表,同样通过路径区分32/64位版本。

方法3:IDA调试器内存映射查看

  1. 启动IDA调试器运行目标进程。
  2. 按下Shift+F7打开Memory窗口,查看内存映射。Wow64的64位地址空间通常位于高地址区域(靠近0x7FFFFFFFFFFF),找到对应64位ntdll的内存块后,右键选择Jump to module即可查看其基础信息。

注:IDA Free版本调试器对Wow64 64位空间的支持有限,若无法直接查看,建议结合方法1/2获取模块信息后,手动加载64位ntdll到IDA进行分析。

三、对比两个ntdll版本

分别将以下文件加载到对应版本的IDA中,可直观对比两者差异:

  • 32位ntdll:C:\Windows\SysWOW64\ntdll.dll(用32位IDA加载)
  • 64位ntdll:C:\Windows\System32\ntdll.dll(用64位IDA加载)

内容的提问来源于stack exchange,提问作者CarloC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:40:05