测试环境:vmware win10 企业版 Build 10240,windbg preview
一些反作弊模块,杀软会进行进程遍历.从而发现,杀死可疑进程.本文介绍两种隐藏进程方式.
修改UniqueProcessId
本方法参考https://www.52pojie.cn/thread-1866668-1-1.html
首先找到需要隐藏进程的eprocess 本文以notepad.exe为例
在eprocess中找到UniqueProcessId字段,也就是pid,将这个值改为其他进程的ID的话就能够将该进程隐藏起来.
将notepad的pid改为f64就可以成功将该进程隐藏.
ActiveProcessLinks摘链
eprocess中有一个字段为ActiveProcessLinks,他的结构如下图所示
ActiveProcessLinks结构中有:前向指针Flink(偏移0x000) 后向指针Blink(偏移0x008)
摘链具体操作:
将前一个节点的Blink改为本节点的Blink,将后一个节点的Flink改为本节点的Flink.
修改后的图示:
修改完毕,可以看到notepad.exe仍然在运行 但是找不到该进程.
两种方法都会在关机时造成蓝屏 需要手动恢复eprocess结构.
此项技术的驱动层面编码实现参考:https://cloud.tencent.com/developer/article/2201598