我正在反编译一些对 __stdcall 函数进行大量间接调用的 Direct3D 代码。
例如:
call dword ptr [edx+0xC8h]
这真的是:
pD3DDevice->SetRenderState();
在每种情况下,IDA 都无法正确猜测这些调用的堆栈指针更改,因此我必须手动通过 Alt+K 来获取正确的 SP 值。
但是在这样做之后,我开始遇到一个问题,即分支的一侧会有错误的 SP 值
我可以 Alt-K 带有错误 SP 值的第一条指令,但这仅对下一条指令生效。