我有为我的黑客做代码洞穴的问题。
windows xp 32位d3d9.dll运行时返回地址
4fe50000 (base address)
4fe58840 (drawindexedprimitive virtual table address)
4fe571b0 (endscene virtual table address)
windows 7 64位d3d9.dll运行时返回地址
72c30000 (base address)
72c5b6b1 (drawindexedprimitive virtual table address)
72c5279f (endscene virtual table address)
如果你仔细看,大小似乎不同。
我甚至试着调试这个=>“windows7x64的c:\windows\syswow64\d3d9.dll",它返回了不同的地址5e1cxxxx
我不确定我错过了什么。但返回为"72c30000",我可以保证它是32位d3d9.dll
有什么解释吗?
发布于 2012-07-17 12:11:44
如今,DirectX已成为视窗系统不可或缺的一部分。特别是Aero依赖于它,d3d9.dll是预先安装的。因此,简单的解释是地址不同,因为DLL不同。您可以通过查看Windows资源管理器中的属性+详细信息选项卡轻松查看这些内容。注意不同的文件版本。
不存在跨不同Windows版本的函数可以依赖一致地址的情况。或者,在一个版本上,安全补丁或服务包将改变地址。或者在一个特定的文件版本上,地址空间布局随机化功能是专门设计的,目的是阻止您尝试做什么。
https://stackoverflow.com/questions/11521856
复制相似问题