如何使用DLL代理调试DLL的函数调用

How to use DLL Proxy for debugging function calls of DLL

提问人:Manuel 提问时间:11/1/2023 更新时间:11/1/2023 访问量:44

问:

我想知道加载DLL并从此DLL进行函数调用的可执行文件的函数调用。

所以我认为最简单的方法是将DLL设置为代理,并输出所有函数调用。

我已经使用这个 https://github.com/nitrog0d/DLLProxyGenerator 创建了一个代理DLL,它作为代理工作正常。

但是,如何捕获函数调用呢?似乎代理DLL只是打开原始DLL并将任何内容转发到此,因此我也无法获取函数调用。

例如,这是代理 DLL 的函数定义:

extern "C" {
    void fTEST_Function() { _asm jmp[TEST.oTEST_Function] }
}

void setupFunctions() {
    TEST.oTEST_Function = GetProcAddress(TEST.dll, "TEST_Function");
}

任何帮助将不胜感激。

谢谢

C++ 调试 DLL

评论

0赞 Richard Critten 11/1/2023
在生成的代理函数中添加自己的跟踪/诊断代码,OutputDebugString 可能是一个不错的选择。或者只是使用大量断点。

答: 暂无答案