我想挂接到DLL库并处理传递给它的参数并控制其行为。我不想通过重建库和跟踪更改来维护单独的fork。相反,我想使用我的库作为将调用传递到目标库的一种方法。
我可以看到DLL中公开了哪些功能,但是我只需要实现这些功能的子集。有没有一种方法可以使用调试器来监视并获取正在调用的函数列表?
您要创建的是代理DLL。用您的原始DLL替换原始DLL,然后重命名原始DLL,然后使用LoadLibrary()原始重命名的DLL。对于不想记录或修改的函数,只需传递给真正的DLL函数即可。否则,您将修改参数,然后将其传递。
[有很多工具可以帮助您生成代理DLL