当前位置:网站首页>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
边栏推荐
- 优酷视频元素内容召回系统:多级多模态引擎探索
- 第5章 SQL高级处理
- Tensorflow模型量化(Quantization)原理及其实现方法
- CMake库搜索函数居然不搜索LD_LIBRARY_PATH
- lotus 1.16.0 最小快照导出 导入
- [极客大挑战 2020]Roamphp1-Welcome
- [TypeScript] Introduction, Development Environment Construction, Basic Types
- Google Cloud Spanner的实践经验
- Mysql进阶优化篇01——四万字详解数据库性能分析工具(深入、全面、详细,收藏备用)
- 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
猜你喜欢
第一次用debug查询,发现这个为空,是不是代表还没获得数据库的意思?求帮助。
MySql统计函数COUNT详解
Paper reading (63): Get To The Point: Summarization with Pointer-Generator Networks
Express框架连接MySQL及ORM框架
The first time I used debug query and found that this was empty, does it mean that the database has not been obtained yet?please help.
Is it reliable to work full-time in self-media?
实现web实时消息推送的7种方案
DLCM - 基于列表上下文信息的重排序模型
[Geek Challenge 2020] Roamphp1-Welcome
[NCTF2019] Fake XML cookbook-1|XXE vulnerability|XXE information introduction
随机推荐
[NCTF2019] Fake XML cookbook-1|XXE vulnerability|XXE information introduction
阿里巴巴CAN:Embedding前置的特征交互新思路
【综合类型第 34 篇】喜讯!喜讯!!喜讯!!!,我在 CSDN 的第一个实体铭牌
每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
Oracle动态监听与静态监听详解
【AAAI2020】阿里DMR:融合Matching思想的深度排序模型
浅谈在线编辑器中增量编译技术的应用
镜像站收集
服务器装好系统的电脑怎么分区
Is it reliable to work full-time in self-media?
JVM学习----垃圾回收
Chapter 6: Decisive Autumn Moves
Minio 入门
SQLServer下载与安装
Daily practice------Generate 13-digit bar, Ean-13 code rule: The thirteenth digit is the check code obtained by the calculation of the first twelve digits.
基于STM32F407使用ADC采集电压实验
The first time I used debug query and found that this was empty, does it mean that the database has not been obtained yet?please help.
DTSE Tech Talk丨第2期:1小时深度解读SaaS应用系统设计
报错500,“message“: “nested exception is org.apache.ibatis.binding.BindingException: 解决记录
CMake库搜索函数居然不搜索LD_LIBRARY_PATH