模块内的功能偏移是否始终保持不变?

时间:2011-01-10 04:05:49

标签: memory

我有一个可执行文件(比如notepad.exe)。我正在尝试为此可执行文件创建一个函数映射。因此,当我运行此可执行文件时,它会被加载到某个地址(模块的基址)。现在每个函数在模块内部都会有一些偏移量。我尝试通过它们的偏移(函数的代码开始)在模块内唯一地识别每个函数。你觉得这个偏移量总是保持不变,无论我在哪台机器上运行可执行文件?

1 个答案:

答案 0 :(得分:1)

自Vista以来,Windows已经具有称为地址空间布局随机化的功能,其中可执行文件的基础位于随机起始地址。目标是阻止某些类型的安全攻击。目前,没有内部随机函数发生,但没有什么能阻止在新版本的Windows中发生这种情况。