網際論壇 - 軟體中文化交流區 - [本地化交流] 用 Process Monitor 看看程式搞什麼鬼
» 遊客:  註冊 | 登錄 | 會員 | 幫助
 

免費線上小說
動漫分類 : 最新上架熱門連載全本小說最新上架玄幻奇幻都市言情武俠仙俠軍事歷史網游競技科幻靈異 ... 更多小說

作者:
標題: [本地化交流] 用 Process Monitor 看看程式搞什麼鬼 上一主題 | 下一主題
  yoyo007
  論壇貴賓 
  菸草撐住的日子


 
  積分 38778
  發文 6170
  註冊 2005-9-10
  來自 滅絕希望的世界
  狀態 離線
#1  Process Monitor 相關使用說明

From : http://www.centurys.net/viewthread.php?tid=209227  #1


  Quote:

Process Monitor v1.25 下載請按此




  Quote:
一、用 Process Monitor 找出程式釋放的語言檔














































  Quote:
二、Process Monitor 基本操作教學

轉載自:http://blog.darkthread.net...08/18/977.aspx

【茶包射手專欄】Process Monitor 基本操作教學

有網友在問 Process Monitor 如何使用,我想了想,這位茶包一哥在本 Blog 出生入死破案無數,卻還真的沒正式介紹過它的操作使用方式。所以,Process Monitor 的初級使用教學來了!

SysInternals 的兩位天才被挖去微軟後的第一個代表作,就是將原本的 File Monitor (FileMon) 與 Registry Monitor (RegMon) 兩套工具,金剛合體成 Process Monitor,這真是個叫人感動落淚的舉動呀~~~

以往在排除問題時,常常要同時留意 File 及 Registry 存取狀況,所以就要同時開 FileMon跟 RegMon,故意讓問題再發生,然後同時關閉 FileMon 及 RegMon,開始比對二者的記錄: 找出 FileMon 讀取 A 檔的時點,對照到 RegMon 看當時讀了哪個 Registry,在還沒有搞出雙螢幕之前,我還常得把 RegMon 的記錄檔 Copy 到 Notebook 上,一眼看 PC,一眼看 Notebook 方便比對。對不起,我又開始碎碎唸了,這些吃蕃薯籤的回憶,還是留給中年人獨自品嚐好了。XD

總之,ProcMon 把 RegMon 與 FileMon 的監控放在一起,實在是佛心來著!

要用 ProcMon 的第一步當然要先去下載,網址在
這裡,免安裝,我都只解 EXE 檔出來放在桌面就開始幹活。




開啟後,你會看到如上圖的畫面,通常我都只用到 Toolbar 的那一排按鈕就玩得不亦樂乎。我用顏色標出來幾個重要功能,說明如下:

1 開啟/停止記錄事件: 打 X 時表示現在停止捕捉事件

2.自動下捲: 由於監聽過程中,清單會不斷增長,你可以選擇 ProcMon 永遠顯示清單最下方的最新記錄。不過清單通常長得很快,會捲到你眼花。

3.清除目前清單中的記錄

4.設定Filter: 超重要! ProcMon是廢鐵或是寶劍全看你會不會設 Filter,後面再做詳細介紹

5.指定桌面程式: 這個小瞄準器在 SPY++ 裡很有名。如果你今天想要觀察某個桌面程式讀了哪些 Registry、寫了哪幾個 File,將小瞄準器拖拉到那個程式的 UI 上,ProcMon 就會在 Filter 中加入限定該程式的條件 (指定 Process ID)

6.搜尋: 在現有的記錄中找尋特定文字

7.跳至Registry/File: 粉方便的功能! 在記錄中會看到某些 Registry 或 File 的名稱,點選那一列記錄後按下去,若是 Registry 記錄就會開 Registry Editor 停在該 Registry Key 上,若是 File 就會開啟 FileMonitor 停在該檔案的所在目錄上。在記錄上按右鍵也有個 Jump To,效果相同。

8, 9, 10: 用來指定你要監聽的範圍,分別是 Registry、File 及 Process 活動,如果你只關心 File 存取,就只開啟 File,真正的線索才不會被埋藏在一大堆沒用的 Registry 記錄中。

好了,接著來看 ProcMon 操作的精華所在,設定 Filter!!




每一則 Filter 條件分為三個部分,第一部分是欄位,每一筆記錄有很多欄位,你可以限定某個欄位必須符合某個條件的事件才要"顯示",第二部分可指定要等於、包含等運算子,第三部分則是特定的字串值,最後要指定這個條件要包含進來還是排除掉。

注意到沒有,我剛才說 Filter 指的是"顯示"條件,而不是"捕捉"條件哦! 第一張圖的 Status Bar 中有個 Showing 11,894 of 39,380,意思是 ProcMon 保留了四萬筆記錄,依現在的 Filter 條件只 Show 其中的 30%,可以事後再修改條件,篩選不同的記錄來看。這又是一個本著佛心的新設計,過去使用 FileMon/RegMon 時常發生因條件太嚴沒抓到關鍵事件,只好改條件再來一次的狀況,現在 Filter 可以事後再 Tune,節省了很多重頭來過的時間。

不過修改 Filter 的操作有點奇特,在下方清單點兩下,該條件會從清單中移除,移到上方,修改後要按 Add 把它加回清單,如果你改完直接按 OK,條件就消失了,剛開始用要花點時間習慣。

用個實例來說,如果我想在 XP/2003/Vista 下觀察 IIS 的活動,可以設定以下的 Filter:



Process Name is 'w3wp.exe' 這樣子 ProcMon 會抓到所有 w3wp.exe 對 File 及 Registry 的存取,若你的 IIS 有多個 Application Pool,則會有多個 PID 不同的 w3wp.exe,你可以試著再找到關注對象的 Process ID,進一步縮小範圍。



按下閞始捕捉後,會得到如上圖的一大串記錄,清單中 Operation 是 RegOpenKey、RegCloseKey、RegQueryValue 的是 Registry 記錄,CreateFile、CloseFile、ReadFile 等則是 File 存取記錄。在每則記錄上按右鍵還有好幾個貼心的功能,你可以用 Exclude/Include 加入與這筆記錄相關的 Filter 條件後立即生效。這樣我們可以先設較寬的 Filter 組合,在檢視結果的同時再一一排除無關者,迅速縮小範圍。Property 則可看到該筆記錄的全部細節,例如: 發生 Access Denied 時,甚至還可以看到 Impersonate 的情形。

上圖中沒顯示出來,但 Path 後方還有個重要欄位叫 Result,就是這個動作的執行結果,NOT FOUND/ACCESS DENIED 之類的,通常是值得我們關注的焦點。

今天的 Process Monitor 基本使用課程就講到這裡,下課!!



  Quote:
三、使用 ProcMon 五分鐘內破案的經典案例

轉載自:http://blog.darkthread.net/blogs/......10/959.aspx

【茶包射手專欄】使用 ProcMon 五分鐘內破案的經典案例

Could not load file or assembly 'System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.

小組裡有台"鬧鬼"(註)的測試機器,老愛出些稀奇古怪的錯誤。今天執行某支 ASPX 時,發生以上錯誤...

一般人遇到這種狀況,除了重灌 .NET Framework、重灌 IIS、重灌 Windows、去行天宮拜拜跟改行不寫程式之外,多半就只能束手無策。不過如果有 Process Monitor 在手,情況就不一樣了。

遇到 Access Denied 型的 Error 的,我的反射動作就是開啟 Process Monitor;由於這個錯誤訊息很精確地指出無法存取的檔案是 System.EnterpriseServices.dll,因此加個 Path Contains "System.EnterpriseServices" 的 Filter,再瀏覽一次有問題的 URL,立即就找到 Access Denied 的證據。



利用 Jump To 直接跳至 GAC 下的問題 Folder,檢查一下權限,果然! 不知怎麼地,該目錄只剩下 SYSTEM 跟 Administrators 有權讀取,難怪用 NETWORK SERVICE 執行的 w3wp.exe 會吃閉門羹。參考其他類似目錄,補上權限,問題就消失了! 前後只花了不到五分鐘。



講到SystemInternals的這些好工具,306期 iTHome 的封面故事剛好就以它為主題,而兩位 MVP (賴榮樞鄭子璉) 與我也分享了自己的使用心得 (咳... 還有照片哦,要簽名的人請帶週刊私下找我,目前沒有辦簽書會的計劃),有興趣的人可以去找來翻翻。

====== 我是分隔線 ======

註: 所謂"鬧鬼"有兩種解釋: 一是指機器上常出現無法理解的怪現象,讓人直呼見"鬼"了;第二種是有程式麻瓜、電腦白目在搞"鬼",進行各種不可思議的系統修改與設定,任誰都猜不出問題會出在這種地方。



  Quote:
四、使用 Process Monitor + Syscheck 移除木馬

轉載自:http://hi.baidu.com/drzebra......7ddfbb3fb9569.html


「IEHelper_*.dll」木馬組件的刪除,syscheck 反黑工具 + Process Monitor 組合拳出擊!

一、IEHelper_*.dll 木馬的種類,存在位置和危害

我搜索了一下IEHelper_*.dll至少有以下幾個版本:

IEHelper.dll  
IEHelper_5001.dll   Iehelper_5012.dll  Iehelper_5013.dll
Iehelper_5016.dl    Iehelper_5025.dll  Iehelper_5026.dll   
Iehelper 5048.dll   IEHelper_5058.dll  IEHelper_5066.dll  
Iehelper_5068.dll   Iehelper_5078.dll  IEHelper_5201.dll
IEHelper2006829_4702.dll

該木馬存在的常見位置為:

%System%\IEHelper.dll
X:\Program Files\BB\IEHelper
X:\Documents and Settings\All Users\Application Data\Microsoft\UserData\IEHelper_*.dll
X:\Documents and Settings\All Users\Application Data\Microsoft\IEHelper_*.dll

危害/危險程度:

1.這木馬組件用來攔截按鍵,攔截鍵盤信息。IEHelper.dll 處理在瀏覽器中輸入數據所引發的 IE 事件。並將攔截的數據及URL存放在 %system%Passlogx.log 中[1]
2.IEHelper 如不及時清除,會引進數十種木馬,嚴重的導致計算機系統崩潰、藍屏,較輕的導致運行速度極慢。
3.影響系統穩定性,IE 無法打開,不定期跳出不明網頁IE彈出廣告。


二、網絡上的解決辦法 (沒有驗證,不一定有效!)

方法1:[2]

A.先關閉 IE 瀏覽器;
B.再[開始]->[運行]-> regsvr32 /u x:\xx\iehelper_×.dll;
C.到 IEhelper.dll 的安裝目錄下,直接刪除它;
D.清理一下註冊表,對「IEHelper_×.dll」做徹底清除。

方法2:[3]

A.金山毒霸中帶有文件粉碎機這個程序,我就用這程序把「IEHelper_5066.dll」直接粉碎
B.粉碎後有會出現個「KKKKKKKKK」的文件,然後在把這文件剪貼到另外一個文件夾下,之後 DEL 直接刪除。
C.清理一下註冊表,對「IEHelper_×.dll」做徹底清除。

方法3: 該方法有點搞笑?

A.先找到 DLL 文件的目錄
B.然後把 IEHelper_×.dll 剪切移動到桌面上
C.刪除這個 DLL 文件的上一級目錄,好像是 userdata,
D.然後回到桌面,把那個DLL文件直接拖到回收站裡,最後清空回收站應該就搞定了.

三、本站提供的較為專業的手動清除辦法

首先,下載兩個工具:

1。syscheck 反黑工具:http://free5.ys168.com/?wangsea
2。Process Monitor 進程監視軟件:本帖下載。

(一) 簡易方法:  針對 IEHelper_X.dll 的注入 iexplore.exe 進程的情況

A. 打開一個IE瀏覽器窗口
B.【運行 syscheck1.0061】->【進程管理】->
C. 按下底下【防止驅動阻止修復】,同時選取【禁止外部線程創建】->
D. 選定【iexplore.exe】->查看界面下半部分【模塊信息】

註:【模塊信息】中包含了 IE 瀏覽器加載的所有 DLL,OCX 文件信息

E. 選定【模塊信息】中的 IEHelper_×dll 項-> 點擊鼠標右鍵->【卸載模塊並刪除文件】
F. 等上幾秒鐘,IEHelper_×.dll 就被完全刪除了。
G. 最後清理一下註冊表,搜索「IEHelper_×.dll」內容,徹底清除。

用以上的方法可以刪除最厲害的病毒/木馬,沒有不成功的!
IceSworld刪除不了的,syscheck也可以呵!
再次謝謝紅葉大蝦,開發出如此優秀的反黑軟件!

(二)高級方法: 針對 rookit 技術的病毒主程序釋放出/修復 IEHelper_×.dll 的情況

A. Process Monitor 監視文件 IEHelper_X.dll 的活動,檢查其注入到哪個進程,或由哪個病毒主程序釋放。

【運行Process Monitor 1.0】-> 跳出【Process Monitor Filter】選項:

          【Auhentication ID】下拉選中 path (路徑)->
          【is】下拉選中 contains (包含)->
          【】空白處輸入 IEHelper->
          【Include】不要更改->
           點擊【Add】按鈕->
           點擊【ok】按鈕->


設置好了,接下來,你要耐心等待3-5分鐘....,因為 Process Monitor 將對所有的系統消息 (至少40萬條) 進行篩選。包含【IEHelper】內容的文件讀寫,註冊表操作,線程進程活動都會被捕獲,你可以一覽無餘了。

B. 直接去 IEhelper_*.dll 的安裝目錄下,做一下刪除操作

註:當然刪不掉的啦,只不過是激活一下木馬,看看到底是哪個隱藏的進程在保護它。
    只要木馬病毒有活動,Process Monitor 就會將這些活動記錄在案,哈哈!

C. 回到 Process Monitor 界面,查看新增加的包含 IEhelper 的消息。
你只要查找 path 欄中含有你的 IEhelper_*.dll 的信息,看看 Process Name 是誰?

D. 如果發現是 explorer.exe, svhost.exe,lsass.exe,rundll32 之類的系統進程,那說明 IEhelper_*.dll 是注入到系統進程中來發揮作用。

解決方法見 (一) 簡易方法.....--->【卸載模塊並刪除文件】即可

E. 如果發現 Process Name 是非系統進程的陌生 exe,那就是病毒主程序啦。
記下位置,以及 exe 文件名。

【運行 syscheck1.0061】->到【進程管理】看看->病毒主程序是否在進程裡->
在的話點擊鼠標右鍵->【刪除進程到回收站】



【僅結束指定進程】->然後點擊 syscheck【文件瀏覽】

->類似windows資源管理器操作,到病毒主程序所在位置
(下部有一個【僅顯示有隱藏屬性的文件】,有時看非隱藏屬性文件要去掉前面的鉤)
->選定病毒主程序->點擊鼠標右鍵->【刪除文件】
(或【傳送到其它文件夾】,作為病毒樣本保存)

F. 通過步驟【E】,病毒主程序也被我們幹掉了。有時病毒的保護程序不止一個,此時參照【U 盤病毒MVS.exe,MVH.exe,ALMV.exe,RCS.exe 的清除】操作。

G. 此時的 IEhelper_*.dll 已經成為孤家寡人,直接刪掉就是。
H. 最後清理一下註冊表,搜索「IEHelper_*.dll」內容,徹底清除。

如果以上操作無誤,並解決了問題,而且幹得很利索...
恭喜!你已經步入刪毒高手之列。
以後什麼木馬病毒,依葫蘆畫樣統統都搞定!

[ Last edited by yoyo007 on 2007-10-9 at 08:48 AM ]




我從遠方來.你到遠方去
風。穿膛而過
蒼茫的月色.灼傷誰的眼眸…
2007-10-9 08:40 AM
查看資料  訪問主頁  發短消息   編輯文章

可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題

論壇跳轉選單: