驱动-进程强杀
在Windows平台,经常会碰到恶意或者流氓软件,我们使⽤常规的⽅式是⽆法结束其进程,有些甚⾄于任 务管理器终⽌都会报错。我们需要了解⼀个进程的本质。
-进程是基于线程调度才会执⾏的。
-如果⼀个进程下所有线程都“死亡”,那么也就意味着进程的结束。
我们通过逆向分析NtTerminateProcess来查看Windows是怎么处理结束进程的:
IDA中打开内核⽂件,查看NtTerminateProcess函数

PspTerminateAllThreads字⾯意思不难看出结束全部线程,IDA继续查看PspTerminateAllThreads函数

PspTerminateThreadByPointer此函数中会插⼊APC结束线程.通过特征码定位并调⽤其结束进程下所有线
程达到强杀进程.
驱动代码:
特征码定位PspTerminateThreadByPointer,不同操作系统版本均有不同所以就不贴查询函数代码了



------------Ferry 学院