使用010editor修改PE文件随机基址
本帖最后由 zyjsuper 于 2019-8-6 10:25 编辑我们在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文件的分析模版,其他模版可参考此步骤自行安装。
https://attach.52pojie.cn/forum/201908/05/115001bu2miq8k6bq8r6u8.png
https://attach.52pojie.cn/forum/201908/05/115004ack47zlye737wim3.png
0x02:修改基址
本例以winrar为样本,将随机地址修改为固定地址。
用010Editer打开winrar.exe文件,如果打开文件后没有显示PE文件结构窗口,那么我们就需要按照下图所示的步骤调出窗口,依次选择菜单"Templates"——>"Executable"——>"EXE"。
https://attach.52pojie.cn/forum/201908/05/115659jlooycsyscsdjckz.png
再分享一个小技巧,默认窗口排列是上下结构的,如果改成左右结构需要按下图所示操作。上图中,在下面的窗口空白处右击,依次选择"Templates Results Position"——>"Right"。
https://attach.52pojie.cn/forum/201908/05/120713tsezksllly86ntds.png
进入正题,下面是真正修改基址的关键,按下图所示依次展开树状结构,将"WORD IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE"字段对应的Value值由"1"改成"0".
也可以将左侧窗口对应的hex值"6081"改成"2081",对应32位程序的话,此处是"4081"改成"0081","WORD IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE"的值修改成"0",和64位操作方法一样。
https://attach.52pojie.cn/forum/201908/05/121508f254cc2xzs05jfcp.png
0x03:验证结果
因位OD没有办法加载64位的winrar,所以验证的时候我改成了32位的winrar来验证。
未修改随机基址前,OD载入32位winrar.exe如图所示:
https://attach.52pojie.cn/forum/201908/05/122412k6quu1zpb6564qji.png
修改之后如图:
https://attach.52pojie.cn/forum/201908/05/122438bcj0ihjnk3kikvl0.png
0x04:总结
随机基址的问题主要出现在使用OD来分析32位PE文件时,会遇到这样的问题,而使用IDA或者其他反汇编工具时没有此问题,不需要修改随机基址,其他用途不才也没遇到。此文旨在抛砖引玉,望大神不吝赐教,指导一二。
附图:32位PE文件修改方法
https://attach.52pojie.cn/forum/201908/05/114406yewhnnnwmmumwzqw.png
谢谢分享 楼主牛B学习一下经验 感谢分享 跟楼主学习 感谢分享。。 感谢分享。。 感谢分享。。 这么好的贴子竟然热度那么低 留个记号,以防忘记了.
页:
[1]