lxj8378 发表于 2015-7-27 17:53

为什么加入自己的代码不能在win7下运行。【已解决】

本帖最后由 lxj8378 于 2015-7-28 11:27 编辑

如题,


而在win7下函数的地址就不再是xp下的地址了,好像IAT的地址也不和XP下一样。如果想在win7下用就得重新写地址。
不知道什么原因,希望老师解答一下。

感谢XKQ和pnccm,解决我的问题

By.清风 发表于 2015-7-27 18:31

win7是不是64位的?

lxj8378 发表于 2015-7-27 18:32

确实是64位的win7

By.清风 发表于 2015-7-27 18:33

lxj8378 发表于 2015-7-27 18:32
确实是64位的win7

然后 你修改的是不是x86的那个?

lxj8378 发表于 2015-7-27 18:36

是啊,可为什么如果不改的话就可以运行,我看见里面也有调用外部函数的啊,它们为什么不出错。

pnccm 发表于 2015-7-27 22:20

要么重定位的问题,要么你改错了。我是全程win7 64位下添加的,添加前需要用lordpe里的pe编辑器勾选重定位已分离。你没去掉重定位之前你添加的MessageBoxA的调用地址会改变,所以才会导致不能在win7下运行

zzfafa 发表于 2015-7-28 10:00

XKQ 发表于 2015-7-28 10:06

重定位的问题,在PE编辑器里勾选重定位已分离

墨泊VRednow 发表于 2015-7-28 12:57

XKQ 发表于 2015-7-28 10:06
重定位的问题,在PE编辑器里勾选重定位已分离

能不能截个图啊,我同样的问题,可是lordpe编辑器找不到哪里有“勾选重定位已分离”,求教!

墨泊VRednow 发表于 2015-7-28 13:04

XKQ 发表于 2015-7-28 10:06
重定位的问题,在PE编辑器里勾选重定位已分离

我靠,这个图标真的小,还是通过百度找到了,果然是重定位的问题, 谢谢帮助!
页: [1] 2
查看完整版本: 为什么加入自己的代码不能在win7下运行。【已解决】