msfpescan是一款在 PE 文件中扫描跳转指令并直接转化为 VA 的工具,它使用起来非常简单灵活。
用法: msfpescan [mode] [targets]
参数类型: mode
-j 后跟寄存器名,搜索 jump 类指令(包括 call 在内)
-p 搜索 pop+pop+ret 的指令组合
-r 搜索寄存器
-a 后跟 VA,显示指定 VA 地址处的指令
-b 后跟 RVA,显示指定偏移处的指令
-f 自动识别编译器
-i 显示映像的详细信息
-R ——ripper 将资源信息分离出来;——context-map 生成 context-map 文件
参数类型: options
-M 指明被扫描文件是由内存直接 dump 出的
-A 显示(-a/-b)之前若干个字节的信息
-B 显示(-a/-b)之后若干个字节的信息
-I 指定映像基址
-F 利用正则表达式过滤地址
-h 显示帮助信息
参数类型: targets
假如我们想搜索 win2000 中的 NTDLL.DLL 中类似 jmp ecx 的指令,可以这样做:
复制NTDLL.DLL到kali系统下的root目录下 打开msfconsole
键入命令 msfpescan –h 可以查看这个工具的说明。
键入命令 msfpescan -f -j ecx /root/NTDLL.DLL 扫描 PE 文件 NTDLL.DLL,搜索其中类似 jmp ecx 的指令地址,并转化成 VA 显示。效果如图: