当前位置:网站首页>SYSCALL SWAPGS
SYSCALL SWAPGS
2022-07-30 16:56:00 【ma_de_hao_mei_le】
友链
references:
swapgs指令会将GS寄存器的值和MSR地址为C0000102H(IA32_KERNEL_GS_BASE)的值进行交换
当时用SYSCALL实现系统调用的时候,不存在内核栈空间,也不存在指向保存了内核栈空间内核结构的指针
因此,内核没办法去保存通用寄存器的值或者引用的内存里的值
关于为什么要保存通用寄存器或者内存里的值到栈里面请参考这篇文章:https://blog.csdn.net/ma_de_hao_mei_le/article/details/124604874
SWAPGS指令不需要任何操作数
在使用该指令之前不需要保存任何通用寄存器,
在交换完毕之后就可以使用GS作为段地址来访问内核结构了
尝试给nt!KiSystemCall64函数下断点,下完断点之后g直接导致虚拟机崩溃了

后来网上搜可一下
https://stackoverflow.com/questions/65367333/breakpoint-setting-in-ntkisystemcall64-not-working
说是因为该函数的前三条指令是用于设置内核栈空间的,内核调试需要先执行这三条指令来设置栈空间,也就是说这三条指令上面是不能下断点的,需要往后偏移
还有就是如果断点一直不被触发,有可能是因为目标机器上装了什么杀软导致的,卸载再尝试一下

从push 2B那条指令开始调试,也就是bp nt!KiSystemCall64+0x15
边栏推荐
- [TypeScript] Introduction, Development Environment Construction, Basic Types
- Deep Feedback Network for Recommendation
- 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
- huato 热更新环境搭建(DLL方式热更新C#代码)
- 实现web实时消息推送的7种方案
- 优酷视频元素内容召回系统:多级多模态引擎探索
- 向量检索基础方法总结
- 阿里巴巴中国站获得1688商品分类 API
- 【AAAI2020】阿里DMR:融合Matching思想的深度排序模型
- Lotus 1.16.0 minimum snapshot export import
猜你喜欢

【Linux Operating System】 Virtual File System | File Cache

数组和指针(2)

Rounding out the most practical way of several DLL injection

SQLServer下载与安装

支付系统架构设计详解,精彩!

升级Win11后不喜欢怎么退回Win10系统?

第一次用debug查询,发现这个为空,是不是代表还没获得数据库的意思?求帮助。

FP6606ACAW4 TQFN-20L (3mmx3mm) USB双端口充电控制器 百盛电子代理

【SOC】Classic output hello world

Express框架连接MySQL及ORM框架
随机推荐
KDD 2020 | 深入浅出优势特征蒸馏在淘宝推荐中的应用
说几个大厂分库分表的那点破事。
LeetCode167: Sum of two numbers in sorted array
.NET 6.0中使用Identity框架实现JWT身份认证与授权
【综合类型第 34 篇】喜讯!喜讯!!喜讯!!!,我在 CSDN 的第一个实体铭牌
PyQt5快速开发与实战 9.2 数据库处理
打印1-100之间的奇数
华为云数据治理生产线DataArts,让“数据'慧'说话”
Express框架连接MySQL及ORM框架
No qualifying bean of type问题解决
万华化学精细化工创新产品大会
onenote use
阿里巴巴CAN:Embedding前置的特征交互新思路
如何在 UE4 中用代码去控制角色移动
腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
[MRCTF2020]Ezaudit
数据库课程设计大作业大盘点【建议在校生收藏】
Google Cloud Spanner的实践经验
Oracle动态监听与静态监听详解
Go新项目-编译热加载使用和对比,让开发更自由(3)