调试和分析 directx 9 调用?

逆向工程 调试 虚函数
2021-07-04 13:33:29

假设我正在调试一个没有 src 代码的游戏。这个游戏是用 directx 9 构建的,我想深入研究它周围更底层的东西。我已经在一些 dx9 调用(例如 Present 和 EndScene)中做了一些钩子来为游戏创建一些不错的东西,但我想知道人们如何在“现实生活”中调试这种场景。由于几乎每个 dx9 函数都是一个类的虚函数,因此对它的分析变得非常困难(至少对我而言)并且我发现自己迷失了不知道在没有调试的情况下调用函数的确切位置,等等。另一件事我想知道是否有可能分析 dx9 调用以了解一些瓶颈和东西。

任何形式的帮助将在这里非常感谢。提前致谢。

1个回答

我为此使用了 IDA,它能够加载 VTBL 结构并将它们应用于汇编代码。所以,我可以看到“call [IDirect3DSurface9.LockRect]”而不是“call dword ptr [edx + 0x64]”