cmd NTSD命令用法詳解
更新時(shí)間:2011年10月12日 17:06:16 作者:
ntsd 是一條dos命令,功能是用于結(jié)束一些常規(guī)下結(jié)束不了的死進(jìn)程
用法為打開cmd 后輸入以下命令就可以結(jié)束進(jìn)程:
方法一:利用進(jìn)程的PID結(jié)束進(jìn)程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (結(jié)束PID為1332的explorer.exe進(jìn)程)
范例詳解:explorer.exe的pid為1332,但是如何獲取進(jìn)程的pid呢?在CMD下輸入TASKLIST就可以獲取當(dāng)前任務(wù)管理器所有進(jìn)程的PID(并不是所有的exploer.exe進(jìn)程都是1332)
方法二:利用進(jìn)程名結(jié)束進(jìn)程
命令格式:ntsd -c q -pn ***.exe (***.exe 為進(jìn)程名,exe不能?。?
命令范例:ntsd -c q -pn explorer.exe
另外的能結(jié)束進(jìn)程的DOS命令還有taskkill:
命令格式: taskkill /pid 1234 /f ( 也可以達(dá)到同樣的效果。)
如果上面這些還不能滿足您的求知欲,下面還有:
ntsd詳解
有一些高等級(jí)的進(jìn)程,tskill和taskkill或許無法結(jié)束,那么我們還有一個(gè)更強(qiáng)大的工具,那就是系統(tǒng)debug
級(jí)的ntsd.準(zhǔn)確的說,ntsd是一個(gè)系統(tǒng)調(diào)試工具,只提供給系統(tǒng)開發(fā)級(jí)的管理員使用,但是對(duì)我們殺掉進(jìn)程還是很爽的.基本上除了WINDOWS系統(tǒng)自己的管理進(jìn)程,ntsd都可以殺掉.
當(dāng)然咯,有些rootkit級(jí)別的超級(jí)木馬,還是無能為力,幸好這種牛牛級(jí)別的木馬還是很少的.
ntsd 調(diào)試程序在啟動(dòng)時(shí)要求用戶指定一個(gè)要連接的進(jìn)程。使用 TLIST 或 PVIEWER,您可以獲得某個(gè)現(xiàn)有
進(jìn)程的進(jìn)程 ID,然后鍵入 ntsd -p pid 來調(diào)試這個(gè)進(jìn)程。ntsd 命令行使用如下的句法:
ntsd [options] imagefile
其中,imagefile 是要調(diào)試的映像名稱,options 是下面選項(xiàng)之一:
選項(xiàng)說明-2打開一個(gè)用于調(diào)試字符模式的應(yīng)用程序的新窗口-d將輸出重定向到調(diào)試終端-g 使執(zhí)行自動(dòng)通
過第一個(gè)斷點(diǎn)-G使 ntsd 在子程序終止時(shí)立即退出o啟用多個(gè)進(jìn)程的調(diào)試,默認(rèn)值為由調(diào)試程序衍生的一
個(gè)進(jìn)程-p指定調(diào)試由進(jìn)程 ID 標(biāo)識(shí)的進(jìn)程-v產(chǎn)生詳細(xì)的輸出
例如,假設(shè) inetinfo.exe 的進(jìn)程 ID 為 104。鍵入以下命令將 ntsd 調(diào)試程序連接到 inetinfo 進(jìn)程(IIS)。
ntsd -p 104
也可使用 ntsd 啟動(dòng)一個(gè)新進(jìn)程來進(jìn)行調(diào)試。例如,ntsd notepad.exe 將啟動(dòng)一個(gè)新的 notepad.exe 進(jìn)
程,并與它建立連接。
一旦連接到某個(gè)進(jìn)程,您就可以用各種命令來查看堆棧、設(shè)置斷點(diǎn)、轉(zhuǎn)儲(chǔ)內(nèi)存,等等。
命令含義~顯示所有線程的一個(gè)列表KB 顯示當(dāng)前線程的堆棧軌跡~*KB顯示所有線程的堆棧軌跡R顯示當(dāng)前
幀的寄存器輸出U反匯編代碼并顯示過程名和偏移量D[type][< range>]轉(zhuǎn)儲(chǔ)內(nèi)存BP[#]
設(shè)置斷點(diǎn)BC[]清除一個(gè)或多個(gè)斷點(diǎn)BD[]禁用一個(gè)或多個(gè)斷點(diǎn)BE[< bp>]啟用一個(gè)或多個(gè)斷點(diǎn)BL[]列出一個(gè)
或多個(gè)斷點(diǎn)
個(gè)人意見,有一個(gè)非常重要的參數(shù)就是-v參數(shù),我們可以通過它發(fā)現(xiàn)一個(gè)進(jìn)程下面掛接了哪些連接庫文件.
有很多病毒,木馬,或者惡意軟件,都喜歡把自己做成動(dòng)態(tài)庫,然后注冊(cè)到系統(tǒng)正常程序的加載庫列表中,達(dá)到隱藏自己的目的.
首先我們需要設(shè)置一下ntsd的輸出重定向,最好是重定向到一個(gè)文本文件,方便我們分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,雖然輸出重定向了,但是我們的輸出依然會(huì)繼續(xù)顯示在屏幕上,而且會(huì)進(jìn)入到debug模式,我們使用-c
q參數(shù),就可以避免這個(gè)問題.
c:\>ntsd -c q -v notepad.exe
現(xiàn)在我們的pdw.txt文件中,就可以看見notepad.exe文件的調(diào)試信息.
ntsd使用以下參數(shù)殺死進(jìn)程.
c:\>ntsd -c q -p PID 只要你能提供進(jìn)程的PID,那么你就可以干掉進(jìn)程。
方法一:利用進(jìn)程的PID結(jié)束進(jìn)程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (結(jié)束PID為1332的explorer.exe進(jìn)程)
范例詳解:explorer.exe的pid為1332,但是如何獲取進(jìn)程的pid呢?在CMD下輸入TASKLIST就可以獲取當(dāng)前任務(wù)管理器所有進(jìn)程的PID(并不是所有的exploer.exe進(jìn)程都是1332)
方法二:利用進(jìn)程名結(jié)束進(jìn)程
命令格式:ntsd -c q -pn ***.exe (***.exe 為進(jìn)程名,exe不能?。?
命令范例:ntsd -c q -pn explorer.exe
另外的能結(jié)束進(jìn)程的DOS命令還有taskkill:
命令格式: taskkill /pid 1234 /f ( 也可以達(dá)到同樣的效果。)
如果上面這些還不能滿足您的求知欲,下面還有:
ntsd詳解
有一些高等級(jí)的進(jìn)程,tskill和taskkill或許無法結(jié)束,那么我們還有一個(gè)更強(qiáng)大的工具,那就是系統(tǒng)debug
級(jí)的ntsd.準(zhǔn)確的說,ntsd是一個(gè)系統(tǒng)調(diào)試工具,只提供給系統(tǒng)開發(fā)級(jí)的管理員使用,但是對(duì)我們殺掉進(jìn)程還是很爽的.基本上除了WINDOWS系統(tǒng)自己的管理進(jìn)程,ntsd都可以殺掉.
當(dāng)然咯,有些rootkit級(jí)別的超級(jí)木馬,還是無能為力,幸好這種牛牛級(jí)別的木馬還是很少的.
ntsd 調(diào)試程序在啟動(dòng)時(shí)要求用戶指定一個(gè)要連接的進(jìn)程。使用 TLIST 或 PVIEWER,您可以獲得某個(gè)現(xiàn)有
進(jìn)程的進(jìn)程 ID,然后鍵入 ntsd -p pid 來調(diào)試這個(gè)進(jìn)程。ntsd 命令行使用如下的句法:
ntsd [options] imagefile
其中,imagefile 是要調(diào)試的映像名稱,options 是下面選項(xiàng)之一:
選項(xiàng)說明-2打開一個(gè)用于調(diào)試字符模式的應(yīng)用程序的新窗口-d將輸出重定向到調(diào)試終端-g 使執(zhí)行自動(dòng)通
過第一個(gè)斷點(diǎn)-G使 ntsd 在子程序終止時(shí)立即退出o啟用多個(gè)進(jìn)程的調(diào)試,默認(rèn)值為由調(diào)試程序衍生的一
個(gè)進(jìn)程-p指定調(diào)試由進(jìn)程 ID 標(biāo)識(shí)的進(jìn)程-v產(chǎn)生詳細(xì)的輸出
例如,假設(shè) inetinfo.exe 的進(jìn)程 ID 為 104。鍵入以下命令將 ntsd 調(diào)試程序連接到 inetinfo 進(jìn)程(IIS)。
ntsd -p 104
也可使用 ntsd 啟動(dòng)一個(gè)新進(jìn)程來進(jìn)行調(diào)試。例如,ntsd notepad.exe 將啟動(dòng)一個(gè)新的 notepad.exe 進(jìn)
程,并與它建立連接。
一旦連接到某個(gè)進(jìn)程,您就可以用各種命令來查看堆棧、設(shè)置斷點(diǎn)、轉(zhuǎn)儲(chǔ)內(nèi)存,等等。
命令含義~顯示所有線程的一個(gè)列表KB 顯示當(dāng)前線程的堆棧軌跡~*KB顯示所有線程的堆棧軌跡R顯示當(dāng)前
幀的寄存器輸出U反匯編代碼并顯示過程名和偏移量D[type][< range>]轉(zhuǎn)儲(chǔ)內(nèi)存BP[#]
設(shè)置斷點(diǎn)BC[]清除一個(gè)或多個(gè)斷點(diǎn)BD[]禁用一個(gè)或多個(gè)斷點(diǎn)BE[< bp>]啟用一個(gè)或多個(gè)斷點(diǎn)BL[]列出一個(gè)
或多個(gè)斷點(diǎn)
個(gè)人意見,有一個(gè)非常重要的參數(shù)就是-v參數(shù),我們可以通過它發(fā)現(xiàn)一個(gè)進(jìn)程下面掛接了哪些連接庫文件.
有很多病毒,木馬,或者惡意軟件,都喜歡把自己做成動(dòng)態(tài)庫,然后注冊(cè)到系統(tǒng)正常程序的加載庫列表中,達(dá)到隱藏自己的目的.
首先我們需要設(shè)置一下ntsd的輸出重定向,最好是重定向到一個(gè)文本文件,方便我們分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,雖然輸出重定向了,但是我們的輸出依然會(huì)繼續(xù)顯示在屏幕上,而且會(huì)進(jìn)入到debug模式,我們使用-c
q參數(shù),就可以避免這個(gè)問題.
c:\>ntsd -c q -v notepad.exe
現(xiàn)在我們的pdw.txt文件中,就可以看見notepad.exe文件的調(diào)試信息.
ntsd使用以下參數(shù)殺死進(jìn)程.
c:\>ntsd -c q -p PID 只要你能提供進(jìn)程的PID,那么你就可以干掉進(jìn)程。
相關(guān)文章
dos里執(zhí)行tracert命令只有一跳的原因及解決方法
一直以來,我在家電腦DOS里執(zhí)行Tracert命令時(shí)都只看到只有一跳的返回結(jié)果,令我非常不解。我原以為是電信運(yùn)營商那邊的問題,所以也就一直沒去追究是什么真正的原因2013-03-03批處理完美實(shí)現(xiàn)FTP遠(yuǎn)程備份數(shù)據(jù)
本文給大家分享的是實(shí)現(xiàn)使用FTP遠(yuǎn)程備份數(shù)據(jù)到本地的批處理腳本,非常的簡單實(shí)用,有需要的小伙伴可以參考下。2015-09-09讓bat批處理以管理員權(quán)限運(yùn)行的實(shí)現(xiàn)方法
這篇文章主要介紹了讓bat批處理以管理員權(quán)限運(yùn)行的實(shí)現(xiàn)方法,需要的朋友可以參考下2020-08-08BAT 參數(shù)去引號(hào)(各種去引號(hào)的奇葩方式)
這篇文章主要介紹了BAT 參數(shù)去引號(hào),各種去引號(hào)的奇葩方式,需要的朋友可以參考下2014-06-06