简而言之:我想监视从应用程序到 DLL 的选定调用。
我们有一个旧的 VB6 应用程序,我们丢失了它的源代码(当时公司没有使用源代码控制......)。此应用程序使用第 3 方 DLL。
我想在新的 C++ 应用程序中使用这个 DLL。不幸的是,DLL API 只有部分文档,所以我不知道如何调用某些函数。我确实有函数签名。
由于VB6应用程序使用这个DLL,我想看看它如何调用几个函数。到目前为止我已经尝试过或看过 -
-
API劫持 http://www.codeproject.com/KB/DLL/apihijack.aspx- 要求我为每个函数编写 C++ 代码。由于我只需要记录这些值,这似乎有点矫枉过正。
-
EasyHook http://www.codeplex.com/easyhook- 与1相同,但允许用.NET语言编写代码。
-
OllyDbg http://www.ollydbg.de/ with uHooker http://oss.coresecurity.com/uhooker/doc/index.html- 我仍然需要为每个函数编写代码,这次是用 Python。另外,我必须使用 Python 进行许多转换
struct
模块,因为大多数函数使用指针传递值。
由于我只需要记录函数参数,因此我想要一个简单的解决方案。是否有任何自动化工具,我可以告诉我要监视哪些函数及其签名,然后获取详细的日志文件?
“静态”解决方案(从某种意义上说,它可以按需捕获堆栈跟踪)将是过程监控器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx.
更动态的解决方案是API监控器 http://www.rohitab.com/apimonitor/,但它可能太旧,无法与要监视的应用程序兼容。不过值得一试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)