用户态进程调试工具ntsd
ntsd是一个用户态进程调试工具,从Windows 2000就开始被附随在System32目录下。它能够结束除System、smss.exe、csrss.exe、lsass.exe及各种rootkit程序外所有的程序。但在Windows Vista及以上版本的Windows中不含ntsd, [1]必须手动下载至电脑中才可使用。
Ntsd在Windows中只有System、smss.exe、csrss.exe、lsass.exe和一些rootkit程序不能杀。前两个是纯内核态的,第三个是Win32子系统,ntsd本身需要它。lsass.exe也不要杀掉,它是负责本地账户安全的。被调试器附着的进程会随调试器一起退出,所以可以用来在命令行下终止进程。
打开cmd 后输入以下命令就可以结束进程:
利用进程PID结束进程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 4 (结束System进程。当然,System进程是杀不掉的)
范例详解:System的pid为4,但是如何获取进程的pid呢?在CMD下输入TASKLIST就可以获取当前任务管理器所有进程的PID。或者打开任务管理器,在菜单栏,选择“查看”—“选择列”,在打开的选择项窗口中将“PID(进程标识符)”项选择钩上,这样任务管理器的进程中就会多出PID一项了。(PID的分配并不固定,是在进程启动时由系统随机分配的,所以进程每次启动的进程一般都不会一样。)
或者使用taskkill /pid 1234 /f 也可以达到同样的效果(但某些程序有简单的进程保护就结束不了)。
可使用以下批处理,制作一个简单的结束进程的工具:
=================================================
rem 复制以下内容到记事本,另存为pid.bat
@echo off
mode con cols=30 lines=10
rem 调整窗口大小
color 1e
rem 设置窗口颜色
echo.
set /p t=请输入进程名:
echo PID NAME& echo ============
for /f "tokens=2 delims=," %%i in ('tasklist /fo csv /fi "imagename eq %t%.exe" /nh') do ntsd -c q -p %%i&echo %%i %t%
pause >nul
exit
=================================================
利用进程名结束进程
命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
命令范例:ntsd -c q -pn explorer.exe
另外的能结束进程的DOS命令还有taskkill和tskill命令:
taskkill/f/im ***.exe(***.exe 为进程名,exe不能省)
用户态进程调试工具ntsd
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0
提取码下载:
|