D3D程序中没有加载d3d9.dll如果hook Direct3DCreate9

时间:2022-10-25 23:41:45
最近在看一个游戏程序  想在他界面上加入些东西 


OD调试一看  没有D3D9.DLL     不知道如何找到 Direct3DCreate9 的地址了    

如果可以找到 这个函数指针  在利用偏移(虚构函数)可以定位到你想要用的地址 

这个游戏只是加载了 d3d9x_29.dll  不知道利用这个里面的函数 是否可以达到相应的功能 

在游戏启动以后 我在OD 日志里 根本看不到他去调用d3d9.dll

3 个解决方案

#1


Loaded 'C:\Windows\System32\ntdll.dll', No symbols loaded.
Loaded 'C:\Windows\System32\kernel32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\KernelBase.dll', No symbols loaded.
Loaded 'C:\Windows\System32\d3dx9_35.dll', No symbols loaded.
Loaded 'C:\Windows\System32\msvcrt.dll', No symbols loaded.
Loaded 'C:\Windows\System32\gdi32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\user32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\lpk.dll', No symbols loaded.
Loaded 'C:\Windows\System32\usp10.dll', No symbols loaded.
Loaded 'C:\Windows\System32\advapi32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\sechost.dll', No symbols loaded.
Loaded 'C:\Windows\System32\rpcrt4.dll', No symbols loaded.
Loaded 'C:\Windows\System32\d3d9.dll', No symbols loaded.

请看上面的第4行和最后一行。 怎么会没有加载d3d9.dll呢。

除非你看的游戏工程里没有链接 d3d9.lib

#2


那这个游戏太牛了。。。。可以脱离实际框架产生那个框架的效果。。。

#3


LZ指的是目前火爆的FPS射击游戏CF(穿越火线)吧,没有d3d9.dll  ,请问一个3D游戏怎么会没使用d3d9.dll。很明确的告诉你它使用了d3d9.dll,不过是用内核技术隐藏看而已。 你直接HOOK d3d9x_29.dll也行,至于是哪个函数自己摸摸吧。

#1


Loaded 'C:\Windows\System32\ntdll.dll', No symbols loaded.
Loaded 'C:\Windows\System32\kernel32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\KernelBase.dll', No symbols loaded.
Loaded 'C:\Windows\System32\d3dx9_35.dll', No symbols loaded.
Loaded 'C:\Windows\System32\msvcrt.dll', No symbols loaded.
Loaded 'C:\Windows\System32\gdi32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\user32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\lpk.dll', No symbols loaded.
Loaded 'C:\Windows\System32\usp10.dll', No symbols loaded.
Loaded 'C:\Windows\System32\advapi32.dll', No symbols loaded.
Loaded 'C:\Windows\System32\sechost.dll', No symbols loaded.
Loaded 'C:\Windows\System32\rpcrt4.dll', No symbols loaded.
Loaded 'C:\Windows\System32\d3d9.dll', No symbols loaded.

请看上面的第4行和最后一行。 怎么会没有加载d3d9.dll呢。

除非你看的游戏工程里没有链接 d3d9.lib

#2


那这个游戏太牛了。。。。可以脱离实际框架产生那个框架的效果。。。

#3


LZ指的是目前火爆的FPS射击游戏CF(穿越火线)吧,没有d3d9.dll  ,请问一个3D游戏怎么会没使用d3d9.dll。很明确的告诉你它使用了d3d9.dll,不过是用内核技术隐藏看而已。 你直接HOOK d3d9x_29.dll也行,至于是哪个函数自己摸摸吧。