2010-07-06 77 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