簡體   English   中英

Windows xp 32bits d3d9.dll vs Windows 7 64bits d3d9.dll

[英]Windows xp 32bits d3d9.dll vs Windows 7 64bits d3d9.dll

我有問題為我的黑客做代碼洞穴。

windows xp 32bits 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)

如果你仔細看,它的大小似乎不同。

好吧,我甚至試圖調試這個=>“windows 7 x64的c:\\ windows \\ syswow64 \\ d3d9.dll”,它返回不同的地址5e1cxxxx

我不確定我錯過了什么。 但返回為“72c30000”,我可以保證它是32位d3d9.dll

任何解釋?

如今,DirectX是Windows不可或缺的一部分。 特別是Aero依賴它,d3d9.dll已預先安裝。 所以簡單的解釋是地址不同,因為DLL是不同的。 通過查看Windows資源管理器中的“屬性+詳細信息”選項卡可以輕松查看的內容。 請注意不同的文件版本。

在任何情況下,您都無法依賴不同Windows版本的函數的一致地址。 或者就一個版本而言,安全補丁或服務包將改變地址。 或者就一個特定文件版本而言,地址空間布局隨機化功能專門用於阻止您嘗試執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM