2010-07-06 58 views
3

有没有什么办法可以在调用dll函数时“侦听”?如何聆听dll函数调用

我想知道一个DLL函数被调用,参数等....

这可能吗?

谢谢!

+0

请指定您的操作系统。我想你正在寻找Windows的ltrace。 – ninjalj 2010-07-06 18:35:53

+0

是的,窗户......谢谢! – Bruno 2010-07-06 18:36:21

+0

你有这个DLL的源代码吗?如果是的话,你使用的是什么编译器? – jdehaan 2010-07-06 18:51:38

回答

2

退房WinApiOverride32。这是一个非常强大的监视器,支持COM和.NET,并且可以轻松定制(也可以监视DLL内部函数)。此外,您可以编写自定义DLL来覆盖目标所调用的某些API。

1

如果您想“侦听”第三方程序所做的WinAPI(假设)调用(例如user32.dll,gdi32.dll等),您希望挂钩(绕行)这些调用。如果是这种情况,我建议您访问EasyHook项目页面。

另外,请记住,在两个进程之间需要某种IPC方法。 Boost的message_queue已被证明非常方便。

+0

thaks编译的,但它不适用于winapi ...它是用于定制的dll – Bruno 2010-07-06 19:15:30

0

有一个伟大的调试器可以帮助你:OllyDbg

使用起来非常繁琐,但手无源,这是非常有用的。

+0

而且它是免费的,我忘记了提及它。 – jdehaan 2010-07-06 19:41:22