码迷,mamicode.com
首页 > 其他好文 > 详细

NTSD命令用法详解

时间:2015-11-28 11:53:00      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

用法为打开cmd 后输入以下命令就可以结束进程: 

方法一:利用进程的PID结束进程 
命令格式:ntsd -c q -p pid 
命令范例: ntsd -c q -p 1332 (结束PID为1332的explorer.exe进程) 
范例详解:explorer.exe的pid为1332,但是如何获取进程的pid呢?在CMD下输入TASKLIST就可以获取当前任务管理器所有进程的PID(并不是所有的exploer.exe进程都是1332) 

方法二:利用进程名结束进程 
命令格式: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[type][< range>]转储内存BP[#] 
设置断点BC[]清除一个或多个断点BD[]禁用一个或多个断点BE[< bp>]启用一个或多个断点BL[]列出一个 
或多个断点 


个人意见,有一个非常重要的参数就是-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,那么你就可以干掉进程。

NTSD命令用法详解

标签:

原文地址:http://www.cnblogs.com/honeysky/p/5002330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!