内核下断链隐藏进程(兼容多版本Windows系统,非硬编码)
前言
在Windows内核下,我们可以通过获取EPROCESS结构来隐藏进程,EPROCESS是微软未公开的结构体,其本质上就是双向链表的一个节点,通过修改该双向链表即可达到隐藏进程的目的。但EPROCESS结构的链表指针在不同的操作系统上其偏移有所不同,常规的做法是用不同版本的Windows系统实际测试找到正确偏移,然后在代码中判断操作系统版本,再读相应的偏移(也就是硬编码),但本文提供了一种通用且有效的方法,能兼容Win7/Win8/Win10/Win11等操作系统,提高兼容性的同时远离硬编码的苦恼!代码详见下文!
正文
先随便找个两个系统(我用的是win7 sp1和win10 1909), 通过Windbg附加任意进程并执行
dt _EPROCESS
查看EPROCESS结构体的组成。
win7sp1
0:005> dt _EPROCESS
ntdll!_EPROCESS
+0x000 Pcb : _KPROCESS
+0x098 ProcessLock : _EX_PUSH_LOCK
+0x0a0 CreateTime : _LARGE_INTEGER
+0x0a8 ExitTime : _LARGE_INTEGER
+0x0b0 RundownProtect : _EX_RUNDOWN_REF
+
内核下断链隐藏进程(兼容多版本Windows系统,非硬编码)相关推荐
- 驱动开发:断链隐藏驱动程序自身
与断链隐藏进程功能类似,关于断链进程隐藏可参考<驱动开发:DKOM 实现进程隐藏>这一篇文章,断链隐藏驱动自身则用于隐藏自身SYS驱动文件,当驱动加载后那么使用ARK工具扫描将看不到自身驱 ...
- (53)进程结构体EPROCESS,擦除 DebugPort 实现反调试,ActiveProcessLinks 断链实现进程隐藏
一.进程的作用 进程最重要的作用是提供了CR3,10-10-12分页下CR3指向页目录表,2-9-9-12分页下CR3指向页目录指针表. 每个进程有一个或多个线程.本质上,没有进程切换,只有线程切换. ...
- 4.PEB断链隐藏模块
0x4 PEB断链隐藏模块 1.如何找到_PEB_LDR_DATA 由_TEB找到_PEB,_PEB偏移0xC找到_PEB_LDR_DATA 2.基础知识 _LDR_DATA_TABLE_ENTRY结 ...
- linux代码windows能跑吗,能不能帮忙改一下下面这些代码,原来是在windows系统上运行的,要让它能在linux上终端跑。该如何处理...
当前位置:我的异常网» C语言 » 能不能帮忙改一下下面这些代码,原来是在windows系 能不能帮忙改一下下面这些代码,原来是在windows系统上运行的,要让它能在linux上终端跑.该如何处理 ...
- _EPROCESS断链 —— 实现进程内核隐藏
我们可以利用 _EPROCESS 结构体中的 ActiveProcessLinks 双向链表遍历进系统中的进程,并将特定进程从该双向链表中移除,以达到隐藏特定进程的目的. _EPROCESS _EPR ...
- Win10内核驱动断链式隐藏指定进程
//直接上功能代码: //定义函数,通过进程PID操作隐藏 NTSTATUS HideProcess(ULONG pid) {//定义存放EPROCESS地址变量 ULONG64 L_pEPROCES ...
- c语言断链隐藏dll,利用C++ R3层断链实现模块隐藏功能
一.模块隐藏的实现原理 普通API查找模块实现思路:其通过查询在R3中的PEB(Process Environment Block 进程环境块)与TEB(Thread Environment Bloc ...
- 二、C++反作弊对抗实战 (进阶篇 —— 2.作弊器中常见断链隐藏DLL方法)
目前,比较常见的模块隐藏方法有抹去模块的PE头.断开进程的LDR_MODULE链或者Hook模块枚举函数等,这里介绍前面抹去PE头.断链的方法. 提示:以下是本篇文章正文内容,下面案例可供参考 一.设 ...
- Linux下木马程序隐藏进程实战
实验环境 本实验在6.x的操作系统上完成: [root@gaosh-1 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) Rootkit概述 ...
最新文章
- Pycharm 建立工程,包含多个工程目录
- careercup-高等难度 18.9
- jquery eaayui 学习(三)tab
- Java成员变量和局部变量的区别
- 关于SIM800C MINI V4.0 V4版本 5v供电模块重启问题
- 最大字段和(动态规划,C语言)
- 后端学习 - Java容器
- Oracle入门(十四.15)之捕获Oracle服务器异常
- 计算机组成原理单周期mips,计算机组成原理CPU单周期数据通路(MIPS)
- 40岁从零开始学习软件开发,四年后我成了首席研发
- ACM——2的n次方
- C/C++[codeup 2044]神奇的口袋
- 【超图+CESIUM】【基础API使用示例】47、超图|CESIUM - 平行光源设置
- csm和uefi_传统bios引导与uefi引导之比较
- ArcGIS中英文切换
- 房地产微信营销方案微信“危”与“机”
- 用Java实现代码字符画效果
- centos7使用蓝牙_centos7 下 通过终端 连接 蓝牙设备
- opencv读取的图像为什么是BGR
- darknet转caffe