Leo 发表于 2014-10-3 20:49

关于段地址的一些理解 - [已解决]

大家都知道windows加载pe文件的imagebase是0x00400000,有人可能会问,为什么逆向exe文件都要去找0x4010000呢

我随便找了个exe截了图,可以看到pe文件有多个section(区段),一个pe文件有dos头、pe头、section表、各个section,
windows加载器在加载pe文件时也是按上述顺序先加载头,然后根据section表把各section映射到内存中,


那么我们常用的0x401000就是从是0x400000地址开始偏移0x1000到了代码段,对代码的搜索都在这个区段进行就可以


至于其他类型文件段地址都有什么样的变化呢,请恒大在楼下补充



Shark恒 发表于 2014-10-3 21:01

关于寻找代码段的段地址和偏移地址,我们导入OD就可以看出每个程序的段地址是多少。
比如我下面这张图,OD载入这个程序,这个程序的名字是push.exe

然后OD导入push.exe后,我们看下图,选择M


然后找到与文件名相同的位置。如下图选中行是这个程序的PE头,然后是代码段。
这里就可以看到他的代码段起始地址了。


当然,每个程序的代码段地址是不同的。
所以,如果401000不对,那么,你就需要这样来检查一下。

能隐能显 发表于 2014-10-3 21:55

学习了,很明白。

LvMax 发表于 2014-10-3 23:35

地板吗

王婆卖瓜 发表于 2014-10-4 02:58

段地址,学到了

雨季 发表于 2014-10-4 04:24

支持一下{:5_117:}

520Kelly 发表于 2014-11-19 01:49

其实就是基质+大小而已
页: [1]
查看完整版本: 关于段地址的一些理解 - [已解决]