例如,我们在Windows XP平台上,我们有程序A在ollydbg上,我们看到指令x,它的地址是0x11111111(例如),我把程序A运行在ollydbg中,在另一台相同平台的计算机上,指令x会有相同的地址,I‘s.if A,and run in ollydbg,on,a,on,a,所以我的问题是:程序A每次运行时内存地址都会改变吗?或者它们是在不同的计算机或平台上更改的?
我用ollydbg打开它,将这个十六进制添加到它的"494E4A45“中,并保存了exe文件。然后,我用记事本在完全相同的位置手动完成了这项工作,并使用十六进制编辑器保存了它。奇怪的是,我在ollydbg中打开了这两个exe。现在请记住,它们是完全相同的十六进制数。在我用ollydbg修改的exe中,我得到了这样的结果:
我的指令被编入dec ecx dec esi dec edx inc ebp,但是当我打开我手动编辑的exe时,我在ollydbg中得到了这个另外,它们与我在diffnow.com上运行它