2011-07-12 46 views
0

是否有可能將代碼注入到另一個子進程中?假設我們在瀏覽器中有Silverlight插件..我們希望將我們的代碼(類似Snoop)注入到該插件的進程中。當我使用Spy ++時,我可以從插件接收事件..所以,我假設可以注入代碼以及..我們可以將我們的代碼注入到另一個子進程嗎?

在此先感謝。

編輯:我目前正在看snoop的代碼和這篇文章http://www.codeproject.com/KB/threads/winspy.aspx ..我明白,我們可以注入我們的代碼到其他進程..我的問題是如何掛鉤到其他「子」過程..

請看看這個螢幕擷取畫面..我試圖勾選「微軟SIlverlight」(紅色箭頭),但它不起作用..如果你們可以分享我的一些代碼示例子過程..謝謝..

SL process on Spy++

+0

「注入代碼」是什麼意思?像修改程序流程一樣? – Blender

+1

我很確定有WinAPI調用攔截消息到Spy ++使用的窗口,而不是代碼注入。 –

+0

嗨攪拌機,我正在談論像這樣的東西http://www.codeproject.com/KB/threads/winspy.aspx –

回答

0

這不是很 「注入」,但SetWindowsHookEx是非常有用的。

如果你真的需要注射,看看Process Hacker做什麼。

+0

是的。目前,此代碼_messageHookHandle = :: SetWindowsHookEx(WH_CALLWNDPROC,procAddress,hinstDLL,threadID);正在Snoop中使用..我只是想知道如果我們可以鉤入「子」過程。 –

0

是的,可以掛鉤到其他進程。

欲瞭解更多信息,請閱讀由Jeffrey Richter編寫的書籍「Programming Applications for Microsoft Windows」中的第22章。它包含不同的掛鉤方式。我認爲這可能會對你有所幫助。

像SetWindowsHookEx(),CreateRemoteThread()等API將幫助您掛鉤到其他進程。

+0

我明白,我們可以鉤到其他進程..我們可以鉤到其他子進程?例如:IE Process - > Windows Frame Tab - > TabWindowsClass - > Shell DocObject View - > IE Server - > MS Silverlight .. –

0

Windows沒有'子進程',但進程可以有子進程。如果子進程無法掛鉤,那麼您將無法掛接大多數正在運行的應用程序,因爲它們是資源管理器的子進程。 Spy ++向您顯示子窗口,而不是進程。如果您只想在特定窗口上掛鉤輸入,則需要根據活動控件進行過濾。

注:你是間諜++ 窗口視圖,您可以切換到進程與齒輪按鈕來查看。

相關問題