【发布时间】:2012-07-17 11:48:12
【问题描述】:
我有问题要为我的 hack 做代码洞穴。
windows xp 32bits d3d9.dll 运行时返回地址
4fe50000 (base address)
4fe58840 (drawindexedprimitive virtual table address)
4fe571b0 (endscene virtual table address)
windows 7 64bits d3d9.dll 运行时返回地址
72c30000 (base address)
72c5b6b1 (drawindexedprimitive virtual table address)
72c5279f (endscene virtual table address)
如果你仔细看,大小似乎不同。
好吧,我什至尝试调试这个 => "windows 7 x64's c:\windows\syswow64\d3d9.dll",它返回不同的地址 5e1cxxxx
我不确定我错过了什么。但返回为“72c30000”,我可以保证它是 32 位 d3d9.dll
有什么解释吗?
【问题讨论】:
-
主要问题可能是为什么要检查函数地址?它们可能会有所不同,因为地址是虚拟的,因为地址空间随机化以及...因为服务包,修复或其他任何东西。这就是为什么我们有 GetProcAddress()...