2012-08-08 56 views
2

我想知道調試器注入機制如何工作。爲什麼「圖像文件執行選項」如此特別?「圖像文件執行選項」是否攔截CreateProcess命令?

我有兩個猜測。

  1. CreateProcess的將調用,檢查針對註冊表項的列表中的內部函數。如果找到了,那麼它會操縱參數並調用調試器exe。

  2. 還有一些其他服務偵聽CreateProcess調用並攔截它們。它殺死原來的調用或消息(如果createprocess是一個消息或類似消息的消息),那麼它會像原始調用者調用它一樣運行新的進程。

我的願望是在應用程序啓動之前驗證和更新組件。我喜歡IFEO的「功能」,但我需要在驗證步驟後運行原始程序,所以我需要一種方法來運行它,而不必遞歸到更新程序中。我希望通過學習更多關於注射系統的知識,我可以使這個系統工作。

回答

2

This article解釋它是如何工作的。

在Windows XP和2003用戶模式CreateProcess碼讀取註冊表,如果需要,啓動調試器來代替。

在較新版本的Windows的這個功能已經轉移到內核模式。

但無論情況下似乎涉及了CreateProcess一般的攔截機制。

+0

感謝您的網址。 – mox 2012-08-08 17:50:27

+0

感謝您的文章。 – 2012-08-08 18:19:08