论坛首页 安全工具分享区 阅读主题

[原创]PE dump 后实现反编译的通用方法

313 浏览 21 回复
#1 楼主 2026-06-01 21:08:45
恶意代码分析中,经常会出现在内存中释放PE文件的操作。内存中的PE文件,通常被称作展开后的文件,dump下来的内存文件通常是无法被直接反编译的,这篇文章将简述一个通用的dump技巧,使内存中dump下来的PE文件被正常反编译,方便你的静态分析。Virtual address、RAW address、Imagebase 、AddressOfEntryPoint。virtual address 字段中的值,代表PE文件在内存中的页长度;RAW address 字段中的值,这代表PE文件在磁盘中的页长度;Imagebase 字段中的值,代表PE文件中的偏移地址从哪里开始计算;AddressOfEntryPoint 字段中的值,代表进程从哪里进入执行代码。以一个恶意代码为例,进行演示。首先在动态调试过程中,获取到内存中的PE文件。如下图中:接下来将内存中的PE文件保存下来,此时还无法正常进行反编译,需要进行一些调整,将所有节区的virtual address 字段 的值复制粘贴给 Raw address 字段 。将 rax 寄存器中的值赋值给AddressOfEntryPoint 字段 。本示例修改使用的工具为 CFF Explore 。所有涉及的字段,在下图中用红框标记。


回复或点赞可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-284958.htm
#2 2026-06-01 21:08:45
厉害啊
#3 2026-06-01 21:08:45
谢谢分享
#4 2026-06-01 21:08:45
谢谢分享
#5 2026-06-01 21:08:45
v谢谢分享
#6 2026-06-01 21:08:45
谢谢分享
#7 2026-06-01 21:08:45
谢谢分享
#8 2026-06-01 21:08:45
Mark
#9 2026-06-01 21:08:45
谢谢分享
#10 2026-06-01 21:08:45
谢谢分享
#11 2026-06-01 21:08:45
感谢分享
#12 2026-06-01 21:08:45
谢谢分享,学习学习。
#13 2026-06-01 21:08:45
感谢楼主的精彩分享。
#14 2026-06-01 21:08:45
其实分析多了的话,你就会发现,这个pe在某个时间点就是以静态文件在内存中存在的,不然就没有后面的reload_pe之类的了。这个时间点大部分在:解密后或者解压后。当然在reload之前(废话~)。
#15 2026-06-01 21:08:45
实现反编译的通用方法
#16 2026-06-01 21:08:45
thanks for sharing
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号