通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

通过对ActiveProcessLinks摘链来隐藏进程

测试环境:vmware win10 企业版 Build 10240,windbg preview

一些反作弊模块,杀软会进行进程遍历.从而发现,杀死可疑进程.本文介绍两种隐藏进程方式.

修改UniqueProcessId

本方法参考https://www.52pojie.cn/thread-1866668-1-1.html

首先找到需要隐藏进程的eprocess 本文以notepad.exe为例

图片[1]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

图片[2]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

在eprocess中找到UniqueProcessId字段,也就是pid,将这个值改为其他进程的ID的话就能够将该进程隐藏起来.

图片[3]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

将notepad的pid改为f64就可以成功将该进程隐藏.

ActiveProcessLinks摘链

eprocess中有一个字段为ActiveProcessLinks,他的结构如下图所示

图片[4]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

ActiveProcessLinks结构中有:前向指针Flink(偏移0x000) 后向指针Blink(偏移0x008)

摘链具体操作:

将前一个节点的Blink改为本节点的Blink,将后一个节点的Flink改为本节点的Flink.

图片[5]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

修改后的图示:

图片[6]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

修改完毕,可以看到notepad.exe仍然在运行 但是找不到该进程.

图片[7]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

两种方法都会在关机时造成蓝屏 需要手动恢复eprocess结构.

图片[8]-通过对ActiveProcessLinks摘链来隐藏进程-C/C++编程社区论坛-技术社区-学技术网

此项技术的驱动层面编码实现参考:https://cloud.tencent.com/developer/article/2201598

请登录后发表评论