dos干掉進程
ntsd 是一條dos命令,功能是用於結束一些常規下結束不了的死進程。
用法為打開cmd 後輸入以下命令就可以結束進程:
方法一:利用進程的PID結束進程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (結束explorer.exe進程)
范例詳解:explorer.exe的pid為1332,但是如何獲取進程的pid呢?在CMD下輸入TASKLIST就可以獲取當前任務管理器所有進程的PID
方法二:利用進程名結束進程
命令格式:ntsd -c q -pn ***.exe (***.exe 為進程名,exe不能省)
命令范例:ntsd -c q -pn explorer.exe
另外的能結束進程的DOS命令還有taskkill:
命令格式: taskkill /pid 1234 /f ( 也可以達到同樣的效果。)
如果上面這些還不能滿足您的求知欲,下面還有:
ntsd詳解
有一些高等級的進程,tskill和taskkill或許無法結束,那麼我們還有一個更強大的工具,那就是系統debug
級的ntsd.准確的說,ntsd是一個
系統調試工具,只提供給系統開發級的管理員使用,但是對我們殺掉進程還是很爽的.基本上除了WINDOWS系
統自己的管理進程,ntsd都可以殺掉.
當然咯,有些rootkit級別的超級木馬,還是無能為力,幸好這種牛牛級別的木馬還是很少的.
NTSD 調試程序在啟動時要求用戶指定一個要連接的進程。使用 TLIST 或 PVIEWER,您可以獲得某個現有
進程的進程 ID,然後鍵入 NTSD -p pid 來調試這個進程。NTSD 命令行使用如下的句法:
NTSD [options] imagefile
其中,imagefile 是要調試的映像名稱,options 是下面選項之一:
選項說明-2打開一個用於調試字符模式的
應用程序的新窗口-d將輸出重定向到調試終端-g 使執行自動通
過第一個斷點-G使 NTSD 在子程序終止時立即退出o啟用多個進程的調試,默認值為由調試程序衍生的一
個進程-p指定調試由進程 ID 標識的進程-v產生詳細的輸出
例如,假設 inetinfo.exe 的進程 ID 為 104。鍵入以下命令將 NTSD 調試程序連接到 inetinfo 進程
(IIS)。
NTSD -p 104
也可使用 NTSD 啟動一個新進程來進行調試。例如,NTSD notepad.exe 將啟動一個新的 notepad.exe 進
程,並與它建立連接。
一旦連接到某個進程,您就可以用各種命令來查看堆棧、設置斷點、轉儲內存,等等。
命令含義~顯示所有線程的一個列表KB 顯示當前線程的堆棧軌跡~*KB顯示所有線程的堆棧軌跡R顯示當前
幀的寄存器輸出U反匯編代碼並顯示過程名和偏移量D轉儲內存BP設置斷點BC清除一個或多個斷點BD禁用一個或多個斷點BE啟用一個或多個斷點BL列出一個或多個斷點
個人意見,有一個非常重要的參數就是-v參數,我們可以通過它發現一個進程下面掛接了哪些連接庫文件.
有很多病毒,木馬,或者惡意軟件,都喜歡把自己做成動態庫,然後注冊到系統正常程序的加載庫列表中,達
到隱藏自己的目的.
首先我們需要設置一下ntsd的輸出重定向,最好是重定向到一個文本文件,方便我們分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,雖然輸出重定向了,但是我們的輸出依然會繼續顯示在屏幕上,而且會進入到debug模式,我們使用-c
q參數,就可以避免這個問題.
c:\>ntsd -c q -v notepad.exe