应用程序可执行文件和 3d 方库之间的嗅探函数调用
Posted
技术标签:
【中文标题】应用程序可执行文件和 3d 方库之间的嗅探函数调用【英文标题】:Sniffing function calling between application executable file and 3d party library 【发布时间】:2015-09-18 11:29:16 【问题描述】:我有一个用 MFC 编写的应用程序。该应用程序使用了一个 c 库(lib 文件夹中有 .h、.dll 和 .lib 文件)。
我可以用库嗅探 .exe 的函数调用吗?我想知道.h文件的哪个函数被调用了。
更多信息:库是 D2XX,当然应用程序的源代码或应用程序的调试模式不可用。
【问题讨论】:
编写一个代理 DLL,拦截对 3rd 方库的所有调用。让它导出与原始 DLL 相同的符号,并从原始 DLL 导入这些符号以转发调用。重命名代理 DLL 以匹配原始 DLL 的名称。 在 Solaris 上,您可以使用 truss(1),但我不知道任何适用于 Windows 的等效软件。 实际上应该没有调用“.h
文件中的函数”,因为它不应该包含 定义(inline
函数有些特殊)。
【参考方案1】:
你可以试试API Monitor,它似乎支持跟踪自定义 DLL 库调用:http://www.rohitab.com/discuss/topic/37421-monitor-custom-dll/
【讨论】:
谢谢,我试试以上是关于应用程序可执行文件和 3d 方库之间的嗅探函数调用的主要内容,如果未能解决你的问题,请参考以下文章