如何识别对 DLL 进行了哪些调用?

How to identify what calls are made to a DLL?

我想连接到一个 DLL 库并操纵传递给它的参数并操纵它的行为。我不想通过重建库和跟踪更改来维护一个单独的分支。相反,我想使用我的库作为将调用传递给目标库的一种方式。

我可以看到 DLL 中公开了哪些函数,但我只需要实现其中的一个子集。有没有办法使用调试器来监视和获取正在调用的函数列表?

你要制作的是一个代理DLL。您用您的 DLL 替换原始 DLL 并重命名原始文件,然后 LoadLibrary() 原始重命名的 DLL。对于不想记录或修改的函数,只需传递给真正的 DLL 函数即可。否则你修改参数然后通过它。

有很多工具可以帮助您生成代理 DLL