本教程转自GithubWinProcessHide
适用于
WINDOWS 7
WINDOWS 8
WINDOWS 10
WINDOWS 11
原理
该隐藏思路是通过开启电脑内核调试功能,使用WinDbg从系统内核修改应用唯一的EPROCESS结构,从EPROCESS修改pid实现系统内核内隐藏应用进程,使得进程检测应用无法检测。
使用教程
📌准备
1.在微软应用商店下载WinDbg
2.以管理员权限启动CMD或powershell,输入以下命令
# 开启内核调试模式
bcdedit -debug on
# 重启
shutdown /r /t 0🔍查找16进制进程编号
3.以管理员权限启动WinDbg,按下ctrl+k选择Local继续
4.顶部导航栏View选择Command,即可进入内核调试命令行。
5.命令行输入!process 0 0 XXX.exe查找进程(XXX是你要隐藏的应用进程名,你可以在任务管理器查看)
- kd> !process 0 0 XXX.exe
# 以下是输出内容,可能有多个,逐一隐藏即可。
- PROCESS 8241d490 SessionId: none Cid: 0178 Peb: 7ffdf000 ParentCid: 0004
- DirBase: 02b40040 ObjectTable: e148a4a0 HandleCount: 19.
- Image: XXX.exe6.记下 - PROCESS 8241d490 中的进程号 8241d490 然后输入
dt _eprocess 8241d490此时你就可以看到XXX.exe应用的唯一的EPROCESS结构
- 0: kd> dt _eprocess
nt!_EPROCESS
+0x000 Pcb : _KPROCESS
+0x438 ProcessLock : _EX_PUSH_LOCK
+0x440 UniqueProcessId : Ptr64 Void
+0x448 ActiveProcessLinks : _LIST_ENTRY
+0x458 RundownProtect : _EX_RUNDOWN_REF
......
我们只用看UniqueProcessId 这一行,一般在最上面,最前面的+0x440 就是XXX.exe的16进制Pid号
🕶️伪装
7.在任务管理器找一个你想伪装的应用,右键选择转到详细信息,记下该应用的Pid号,将该pid号从当前的10进制转成16进制,如abcd
8.输入 ed 8241d490+0x440 abcd 其中abcd是你想伪装的应用16进制Pid号,回车即可。
🎖️验证
9.打开任务管理器检查,此时应用已经被隐藏,在检测软件中都是不可见的。