我解压了一个 UPX 打包的 PE 二进制文件。打包和解包的二进制文件都有固定的镜像库0x400000(由各种 PE 工具检查)。
但是,每次我在 OllyDbg 中运行程序时,图像都会定位到不同的基地址。当我重新打开二进制文件并开始运行它时,它会更改图像库,而当我单击 OllyDbg 中的重新启动图标时,它不会更改图像库。我在这篇文章中读到,win32 exe 从不使用 ASLR。这是真的?我有 win7 pro 和 OllyDbg1.10。
这是我真正的问题。解压后的可执行文件有一些地址引用无效。他们都使用标准的 win32 基础0x400000。
例如,我解压后的程序中有如下指令,对 的引用407018无效。
- 我怎样才能修复这个地址引用?
- 如何在代码段中
0x40xxxx以to 格式更改所有地址引用0x1150000?有没有工具可以做到这一点?
01153F2B |. A1 18704000 MOV EAX,DWORD PTR DS:[407018]
01153F30 |. 8365 F8 00 AND DWORD PTR SS:[EBP-8],0
01153F34 |. 8365 FC 00 AND DWORD PTR SS:[EBP-4],0
01153F38 |. 53 PUSH EBX
01153F39 |. 57 PUSH EDI
01153F46 |. 74 0D JE SHORT CrackME.01153F55
