Windows ImageBase';可执行文件的地址

Windows ImageBase';可执行文件的地址,windows,exe,memory-address,portable-executable,ollydbg,Windows,Exe,Memory Address,Portable Executable,Ollydbg,为什么ImageBase在CFF和OllyDbg之间存在差异 CFF向您展示了静态分析,这意味着它只是从磁盘读取文件,而不是在运行时调试它,向您展示了PE头中的“首选ImageBase”,这是运行时希望加载二进制文件的地方 当您使用ollydbg进行动态分析时,它会在运行时向您显示PE头中的值,ImageBase将保存当前ImageBase,而不是磁盘中的首选ImageBase。但是,当从读取DllCharacteristics时,您将看到它被设置为0x8140 0x0040=IMAGE\u D

为什么ImageBase在CFF和OllyDbg之间存在差异


CFF向您展示了静态分析,这意味着它只是从磁盘读取文件,而不是在运行时调试它,向您展示了PE头中的“首选ImageBase”,这是运行时希望加载二进制文件的地方

当您使用ollydbg进行动态分析时,它会在运行时向您显示PE头中的值,ImageBase将保存当前ImageBase,而不是磁盘中的首选ImageBase。但是,当从读取DllCharacteristics时,您将看到它被设置为0x8140

0x0040=IMAGE\u DLLCHARACTERISTICS\u DYNAMIC\u BASE
意味着启用了地址空间布局随机化,导致Windows加载程序将模块加载到随机地址中,以使利用漏洞更加困难,因为硬编码的JMP和地址将不准确


开发人员现在需要在运行时计算所有内容,除非您使用Windows 8或10,因为a无法正常工作…

我还可以在回答中添加其他内容来帮助您更好地理解这一点吗?