首页
社区
课程
招聘
[分享]使用010editor修改PE文件随机基址
2019-8-5 12:37 4168

[分享]使用010editor修改PE文件随机基址

2019-8-5 12:37
4168

我们在windows逆向时,经常会遇到PE文件的基地址随机的情况,不利于反汇编的对比分析,比如利用OD反汇编时的地址和IDA反汇编时就会有不同,两者在对比分析过程中就很难对应上。所以才有了下面的介绍,分享给刚开始学逆向的朋友们,大神们飘过,不才膜拜中........
0x00:所需工具
010Editor windows版
下载链接:http://www.sweetscape.com/download/010EditorWin64Installer.exe
               http://www.sweetscape.com/download/010EditorWin32Installer.exe

0x01:安装模版
打开010editor之后,依次选择"Tools"——>"Options",然后的操作如图所示,继续选择"Templates"——>"Show...",然后在左侧列表中找到"EXE.bt"右击选择"Install",安装PE文件的分析模版,其他模版可参考此步骤自行安装。


0x02:修改基址
本例以winrar为样本,将随机地址修改为固定地址。
用010Editer打开winrar.exe文件,如果打开文件后没有显示PE文件结构窗口,那么我们就需要按照下图所示的步骤调出窗口,依次选择菜单"Templates"——>"Executable"——>"EXE"。

再分享一个小技巧,默认窗口排列是上下结构的,如果改成左右结构需要按下图所示操作。上图中,在下面的窗口空白处右击,依次选择"Templates Results Position"——>"Right"。

进入正题,下面是真正修改基址的关键,按下图所示依次展开树状结构,将"WORD IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE"字段对应的Value值由"1"改成"0".
也可以将左侧窗口对应的hex值"6081"改成"2081",对应32位程序的话,此处是"4081"改成"0081","WORD IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE"的值修改成"0",和64位操作方法一样。

0x03:验证结果
因位OD没有办法加载64位的winrar,所以验证的时候我改成了32位的winrar来验证。
未修改随机基址前,OD载入32位winrar.exe如图所示:

修改之后如图:

0x04:总结
随机基址的问题主要出现在使用OD来分析32位PE文件时,会遇到这样的问题,而使用IDA或者其他反汇编工具时没有此问题,不需要修改随机基址,其他用途不才也没遇到。此文旨在抛砖引玉,望大神不吝赐教,指导一二。


附图:32位PE文件修改方法




[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2019-8-5 12:39 被zyj_super编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回