ntsd詳解--如何用命令行殺進程

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 轉儲內存設置斷點 清除一個或多個斷點 禁用一個或多個斷點 啓用一個或多個斷點 列出一個
或多個斷點
個人意見,有一個非常重要的參數就是-v參數,我們可以通過它發現一個進程下面掛接了哪些連接庫文件.
有很多病毒,木馬,或者惡意軟件,都喜歡把自己做成動態庫,然後註冊到系統正常程序的加載庫列表中,達
到隱藏自己的目的.
首先我們需要設置一下ntsd的輸出重定向,最好是重定向到一個文本文件,方便我們分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,雖然輸出重定向了,但是我們的輸出依然會繼續顯示在屏幕上,而且會進入到debug模式,我們使用-c 
q參數,就可以避免這個問題.
c:\>ntsd -c q -v notepad.exe
現在我們的pdw.txt文件中,就可以看見notepad.exe文件的調試信息.
ntsd使用以下參數殺死進程.
c:\>ntsd -c q -p PID 只要你能提供進程的PID,那麼你就可以幹掉進程.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章