标题：ntsd.exe
概述
进程文件： ntsd or ntsd.exe
进程名称： Symbolic Debugger for Windows 。ntsd.exe是Microsoft Windows 2000（Microsoft Windows XP）系统自带的用户态调试工具。可用它结束掉除System、SMSS.EXE、CSRSS.EXE以外的所有进程。该程序经常被病毒利用，用来强制结束杀毒软件进程。  
出品者
Microsoft
属于： Microsoft Windows Operating System
系统进程： 是
使用网络： 是
硬件相关： 否
常见错误： 未知N/A 
内存使用： 未知N/A 
间谍软件： 否 
广告软件： 否
Virus: 否 
木马: 否
使用
NTSD（Microsoft Windows NT Symbolic/Systems Debugger）是Windows 2000（Microsoft Windows XP）默认安装的一
个调试器。这其实是一个命令行版本的WinDBG，功能上稍微缩了一点水，但是对一般的调试
来说是足够用了。
usage: NTSD [-v] [-2] [-d] [-o] [-g] [-G] [-w] [-lines]
[-aDllName] [-s] [-r BreakErrorLevel] [-t PrintErrorLevel]
[-hd] [-x | -xd [except#] | -xe [except#]] [-e] [-z]
[-- | -p pid | command-line]
where: -? displays this help text
-aDllName sets the default extension DLL
-c executes the following debugger command
指定要执行的调试命令，多个命令之间用“;”分隔
-d sends all debugger output to kernel debugger via DbgPrint
-g ignores initial breakpoint in debuggee
-G ignores final breakpoint at process termination
-hd disables heap manager validity checking
-i ignores AV generated by loader fixups on pre3.51 systems
-lines requests that line number information be used if present
-netsyms:{yes|no} allow or disallow loading symbols from a network path
-o debugs all processes launched by debuggee
-r specifies the (0-3) error level to break on (SeeSetErrorLevel)
-s disables lazy symbol loading
-t specifies the (0-3) error level to display (SeeSetErrorLevel)
-v enables verbose output from debugger
-n enables verbose output from symbol handler
-w specifies to debug 16 bit applications in a separate VDM
-x disables break on AV exceptions
-xd disables stopping on specified exception
-xe enables stopping on specified exception
-z reserved for OS/2 debugging
-2 creates a separate console window for debuggee
对于控制台程序，将输出定向到另一个窗口而不在NTSD窗口显示
-- is the same as -G -g -o -p -1
-p pid specifies the decimal process Id to attach to
指定要调试的进程号，用于调试已经运行的程序
command-line is the command to run under the debugger
Environment Variables:
_NT_SYMBOL_PATH=[Drive:][Path]
Specify symbol image path. (Default = %SystemRoot%)
_NT_ALT_SYMBOL_PATH=[Drive:][Path]
Specify an alternate symbol image path.
_NT_DEBUG_EXTENSIONS=dllname(s)
If specified, it is a semi-colon separated list of debugger extension DLL names
This specifies the search order when resolving debugger extension commands
A [<address>] - assemble
在指定地址输入汇编语句
BC[<bp>] - clear breakpoint(s)
清除断点
BD[<bp>] - disable breakpoint(s)
禁用断点
BE[<bp>] - enable breakpoint(s)
启用断点
BL[<bp>] - list breakpoint(s)
列出断点
BP[#] <address> - set breakpoint
设断点
C <range> <address> - compare
比较地址
D[type][<range>] - dump memory
显示指定内存范围
E[type] <address> [<list>] - enter
在指定地址输入数据
F <range> <list> - fill
在指定内存段填充数据
G [=<address> [<address>...]] - go
运行到某个地址
J<expr> [']cmd1['];[']cmd2['] - conditional execution
条件执行
K <count> - stacktrace
堆栈回溯
KB = <base> <stack> <ip> - stacktrace from specific state
L{+|-}[lost*] - Control source options
LN <expr> - list near
参数为地址或者函数，显示距离参数中指定地址或者函数最近的函数
LS[.] [<first>][,<count>] - List source file lines
LSA <addr>[,<first>][,<count>] - List source file lines at addr
LSC - Show current source file and line
LSF[-] <file> - Load or unload a source file for browsing
M <range> <address> - move
N [<radix>] - set / show radix
P[R] [=<addr>] [<value>] - program step
单步执行
Q - quit
#R - multiprocessor register dump
多处理器环境下显示寄存器
R[F][L][M <expr>] [[<reg> [= <expr>]]] - reg/flag
显示寄存器
Rm[?] [<expr>] - Control prompt register output mask
S <range> <list> - search
在指定地址范围内搜寻字符串
0:000> s 77df0000 77e4c000 ff e4 //从user32的空间中找jmp esp
77e22c29
0:000> s 77df0000 77e4c000 'W' 'I' 'N' 'N' 'T' //搜索字符串“WINNT”
SS <n | a | w> - set symbol suffix
SX [e|d [<event>|*|<expr>]] - exception
T[R] [=<address>] [<expr>] - trace
U [<range>] - unassemble
显示反汇编语句，同softice的U命令
X [<*|module>!]<*|symbol> - view symbols
显示符号，支持通配符，类似于softice的exp命令
0:000> x user32!* //显示user32的所有符号
…………
0:000> x user32!ws* //显示user32的所有以ws开头的符号
77dffa68 USER32!wsprintfW
77e0014a USER32!wsprintfA
.logopen [<file>] - open new log file
指定日志文件，开启屏幕记录非常有用的功能
.logappend [<file>] - append to log file
添加到已存在的日志文件
.logclose - close log file
停止记录
~ - list threads status
显示线程状态
~#s - set default thread
设置默认线程
~[.|#|*|ddd]f - freeze thread
~[.|#|ddd]k[expr] - backtrace stack
堆栈追踪
| - list processes status
显示进程状态
|#s - set default process
设置默认进程
|#<command> - default process override
? <expr> - display expression
显示地址或者符号信息
0:000> ? wsprintfA
Evaluate expression: 2011169098 = 77e0014a
0:000> ? eip
Evaluate expression: 2012813324 = 77f9180c
#<string> [address] - search for a string in the dissasembly
反汇编指定地址，但是只输出一行语句
$< <filename> - take input from a command file
从文件取得要输入的命令
<expr> ops: + - * / not by wo dw poi mod(%) and(&) xor(^) or(|) hi low
operands: number in current radix, public symbol, <reg>
<type> : b (byte), w (word), d[s] (doubleword [with symbols]),
a (ascii), c (dword and Char), u (unicode), l (list)
f (float), D (double), s|S (ascii/unicode string)
q (quadword)
: [(nt | <dll-name>)!]<var-name> (<var-name> can include ? and *)
<event> : ct, et, ld, av, cc
<radix> : 8, 10, 16
<reg> : $u0-$u9, $ea, $exp, $ra, $p
<addr> : %<32-bit address>
<range> : <address> <address>
: <address> L <count>
<list> : <byte> [<byte> ...]
User-mode options:
i386 options:
BA[#] <e|r|w|i><1|2|4> <addr> - addr bp
<reg> : [e]ax, [e]bx, [e]cx, [e]dx, [e]si, [e]di, [e]bp, [e]sp, [e]ip, [e]fl,
al, ah, bl, bh, cl, ch, dl, dh, cs, ds, es, fs, gs, ss
fpcw, fpsw, fptw, st0-st7, mm0-mm7
<flag> : iopl, of, df, if, tf, sf, zf, af, pf, cf
<addr> : #<16-bit protect-mode [seg:]address>,
&<V86-mode [seg:]address>
NTSD还支持一些很有用的命令，但是不知为什么帮助中却没有提，这里也列出来：
KD [<count>] - stack trace with raw data
raw模式堆栈回溯
SQ - set quiet mode
设置安静模式，运行一次打开，再运行则关闭
LD [<module>] - refresh module information
重新载入
LM list modules
列出进程加载的所有模块信息
DL <address> <maxcount> <size> - dump linked list
NTSD支持的表达式和WinDBG差不多是一样的，MASM的语法。
系统自带的NTSD也支持部分扩展命令，如：
!peb
!teb
英文版本
进程文件: ntsd.exe or ntsd 
进程名称: Symbolic Debugger for Windows 
描述:
ntsd.exe is a process belonging to the Microsoft symbolic debugger that enables you to debug user-mode applications. This program is a non-essential process, but should not be terminated unless suspected to be causing problems.
Recommendation for ntsd.exe: 
ntsd.exe should not be disabled, required for essential applications to work properly. 
Author: Microsoft
Part Of: Microsoft Windows Operating System
安全等级 (0-5): 0
间谍软件: No 
病毒: No ( Remove ntsd.exe ) 
木马: No ( Remove ntsd.exe )
Memory Usage: N/A 
System Process: Yes
Background Process: No
Uses Network: No
Hardware Related: No
Common ntsd.exe Errors: N/A
问题描述
出现提示缺少exe文件问题的大部分原因是因该文件被木马病毒破坏导致系统程序找不到此文件，出现错误提示框，或程序无法运行，解决此问题只需找到专业的exe文件下载网站，下载该文件后，找到适合程序的文件版本，复制到相应目录。即可解决。
1、Windows 95/98/Me系统，则复制到C:\WINdows\system32\ 目录下。
2、Windows NT/2000系统，则复制到C:\WINNT\system32\ 目录下。
3、Windows XP系统，则复制到C:\WINdows\system32\ 目录下。
4、Windows 7/8系统，则复制到C:\WINdows\system32\目录下。
ntsd.exe病毒解决办法
ntsd.exe病毒是一种比较难缠的病毒，关键是它使用了“映像劫持”的新技术。现在网上流行的杀毒方法都很繁琐，而且也没有专门的专杀工具。
打开regedit注册表，找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ 这就是传说中的映像劫持区了（现在的病毒如ntsd.exe喜欢在这里做手脚），把里面的子项统统删掉，这还不够，还要斩草除根：对“Image File Execution Options”按右键，选择“权限”，然后把“完全控制”和读取都设置为拒绝，这样“映像劫持区”就变成禁区了，除了你自己，谁都不能动，这种方法至少可以防范90%的新病毒。
丢失修复
电脑系统文件经常会受到病毒的侵扰，导致系统文件丢失、损坏。从网上下载系统文件进行替换，可能会因为系统文件版本与操作系统不相符造成不兼容的情况；建议使用专业的系统文件修复工具进行修复。
1、下载可牛杀毒系统急救箱。
2、点击“开始急救”，进行一键式修复，智能匹配与操作系统相符的系统文件。
3、使用可牛免费杀毒对电脑进行全面扫描，清除电脑中存在的潜在危险。