0环PEB断链

在操作系统层面上,进程本质上就是一个结构体,当操作系统想要创建一个进程时,就分配一块内存,填入一个结构体,并为结构体中的每一项填充一些具体值。而这个结构体,就是EPROCESS

+0x088 偏移处有一个指针ActiveProcessLinks ,指向的是 _LIST_ENTRY。它是双向链表,所有的活动进程都连接在一起,构成了一个链表

那么链表总有一个头,全局变量PsActiveProcessHead(八个字节)指向全局链表头。这个链表跟进程隐藏有关,只要我们把想要隐藏进程对应的EPROCESS的链断掉,就可以达到在0环进程隐藏的目的。

我们看一下PsActiveProcessHead

kd> dd PsActiveProcessHead

 

前四个字节指向的是下一个EPROCESS结构,但指向的并不是EPROCESS的首地址,而是每一个进程的 _EPROCESS + 0x88的位置

所以当我们要查询下一个进程结构时,需要 -0x88。比如当前PsActiveProcessHead指向的下一个地址为0x863b58b8

kd> dt _EPROCESS 863b58b8-0x88

在0x174偏移的地方存储着进程名,我们可以看到第一个EPROCESS结构对应的是System进程,这里0x88偏移存放的就是下一个EPROCESS结构的地址,但是这里注意,因为这个结构的地址是指向下一个链表的地址,所以如果要得到EPROCESS的首结构就需要-0x88

我们通过偏移得到下一个EPROCESS结构,可以发现为smss.exe进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521171.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

林业数据可视化新篇章:山海鲸软件看板设计心得

可视化看板作为一种直观、高效的数据展示工具,对于提升管理水平和决策效能具有重要意义。作为一名山海鲸可视化软件的资深用户,我深知其设计方面的强大实力和便捷性,同时由于其免费可视化编辑、免费私有化部署的特点,使我能自由探…

数字时代下的内部审计蜕变:探索数字化转型的七大关键领域

写在前面 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进行挖掘、分析和应用。广义…

Pytorch线性回归实现(原理)

设置梯度 直接在tensor中设置 requires_gradTrue,每次操作这个数的时候,就会保存每一步的数据。也就是保存了梯度相关的数据。 import torch x torch.ones(2, 2, requires_gradTrue) #初始化参数x并设置requires_gradTrue用来追踪其计算历史 print(x…

爬虫实战——巴黎圣母院新闻【内附超详细教程,你上你也行】

文章目录 发现宝藏一、 目标二、简单分析网页1. 寻找所有新闻2. 分析模块、版面和文章 三、爬取新闻1. 爬取模块2. 爬取版面3. 爬取文章 四、完整代码五、效果展示 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…

操作系统发布时间表(1984-2024年)

操作系统发布时间表(1984-2024年) 80年代90年代00年代10年代20年代 80年代 时间WindowsAppleBSDLinuxOthers1984-01Mac OS (System 1.0)1985-11Windows 1.01987MINIX1987-12Windows 2.01988-04Mac OS (System 6.0)1988-05Windows 2.1 90年代 时间Window…

Linux进程管理:(四)组调度机制

文章说明: Linux内核版本:5.0 架构:ARM64 参考资料及图片来源:《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址: zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 组调度 CFS的调度粒度是进程&am…

FMEA的局限性表现在哪些方面——SunFMEA软件系统

FMEA作为一种常用的故障分析和风险评估工具,被广泛应用于工程、制造、服务等领域。尽管FMEA具有很多优点,但在实际应用中,我们也必须认识到其存在的局限性。本文SunFMEA软件将从多个方面探讨FMEA的局限性。 首先,FMEA主要关注产品…

Keepalive 解决nginx 的高可用问题

一 说明 keepalived利用 VRRP Script 技术,可以调用外部的辅助脚本进行资源监控,并根据监控的结果实现优先动态调整,从而实现其它应用的高可用性功能 参考配置文件: /usr/share/doc/keepalived/keepalived.conf.vrrp.localche…

【LeetCode: 149. 直线上最多的点数 + 模拟遍历】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

四、项目中Camunda的使用

公文流程 保存 //省略其他业务逻辑...... //获取公文的工作流程类型 String processDefinitionKeydocDTO.getDocDocType().getDocType().getWorkflowId(); //启动流程 //将工作流程类型作为流程实例id,公文id 作为流程中业务id this.runtimeService.start…

HttpRequest请求模块设计与实现(http模块二)

目录 类功能 类定义 类实现 编译测试 类功能 类定义 // HttpRequest请求模块 class HttpRequest { public:std::string _method; // 请求方法std::string _path; // 资源路径std::string _version…

docker学习进阶

一、dockerfile解析 官方文档: Dockerfile reference | Docker Docs 1.1、dockfile是什么? dockerfile是用来构建docker镜像的文本文件,由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…