我有一个类和一个接口的 COM DLL。
当我用 COMView 打开它时,我会看到类/接口中的所有方法。
我想修改此 COM 中一种方法的行为,但我不知道如何修改。我在调试器中调试它失败,因为它使用多个线程并且我找不到 DLL 的代码。
有没有办法在不使用调试器的情况下修补函数?
我有一个类和一个接口的 COM DLL。
当我用 COMView 打开它时,我会看到类/接口中的所有方法。
我想修改此 COM 中一种方法的行为,但我不知道如何修改。我在调试器中调试它失败,因为它使用多个线程并且我找不到 DLL 的代码。
有没有办法在不使用调试器的情况下修补函数?
调试 COM 确实有点问题,但是您不一定需要调试它来检索您感兴趣的函数的地址。此外,还有一些技巧可以在调试时找到与 COM 相关的函数。
获得函数的地址后,只需使用任何修补工具打开该 COM dll 并根据需要修补程序集。只需谷歌搜索一个你觉得舒服的二进制补丁工具。
我基本上可以想到三种方法来获取该函数的地址: