强删文件


结束线程

  1. 获取PsTerminateSystemThread地址:MmGetSystemRoutineAddress
  2. 搜索E8特征码,获取PspTerminateThreadByPointer地址
  3. PsLookupProcessByProcessId 通过 PID获得EPROCESS
  4. 遍历线程
  1. 结束线程

查找指定文件的句柄

  1. 遍历所有进程的所有句柄 (EProcess.ObjectTable(_HANDLE_TABLE类型))
  2. 通过句柄获得对象 (PsLookupProcessByProcessId)
  3. 通过对象获得名称 (ObQueryNameString)

API

API名称 作用
MmGetSystemRoutineAddress 获取导出
IoThreadToProcess 通过线程获得Eprocess
ZwDuplicateObject 拷贝目标进程句柄到本进程句柄表
PspCidTable 全局进程,线程表
KeStackAttachProcess 切换CR3与句柄表
KeUnstackDetachProcess 还原CR3与句柄表
ZwClose 用于关闭句柄
ObQueryNameString 通过对象查名称
ZwQuerySystemInformation 用于查询系统所有信息(由参数一决定)

Tips:

64位的, 线程回调表,最大为64项

防止别人HOOK 结束进程和结束线程, 去WRK 看创建进程和创建线程API的实现,自己手动实现

文章目录
  1. 1. 结束线程
  2. 2. 查找指定文件的句柄
  3. 3. API
  4. 4. Tips:
|