我是PE分析的新手,所以请接受我的基本问题。 在Windows XP和Windows 7中加载PE显示了不同的入口点
在Windows XP中创建的Hello.exe。
CFF Explorer正在显示 ImageBase 0x00400000 和 AddressOfEntryPoint 0x00001578 。但是,当我在 OllyDbg(在Windows 7中运行)中加载hello.exe时,它会在 0x773201C8
上显示 EP在 OllyDbg(在Windows XP中运行)中加载hello.exe时,它会在 0x00401578 上显示正确的 EP 。
我想知道为什么 EP 在Windows 7上有所不同。
答案 0 :(得分:0)
PeHeader中入口点的地址是RVA(相对虚拟地址)
它相对于Imagebase
C:\>dumpbin /headers c:\Windows\System32\calc.exe | grep -iE "entry|im.*base"
12D6C entry point (01012D6C) _WinMainCRTStartup
1000000 image base (01000000 to 010BFFFF)
对于不同的负载,图像基础可能会有所不同(ASLR地址空间布局随机读取)
所以您看到了这些差异