当前位置:网站首页>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
边栏推荐
- 向量检索基础方法总结
- FP6606ACAW4 TQFN-20L (3mmx3mm) USB双端口充电控制器 百盛电子代理
- bert-base调试心得
- Gvim order record
- Login Module Debugging - Getting Started with Software Debugging
- 每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
- 2022-07-30 Androd 进入深度休眠后把WIFI给关掉,唤醒之后重新打开WIFI
- 安全业务收入增速超70% 三六零筑牢数字安全龙头
- 大厂面试官眼中的好简历到底长啥样
- MySQL 8.0.29 解压版安装教程(亲测有效)
猜你喜欢
随机推荐
Mirror stand to collect
lotus 爆块失败
S7-200SMART中定时器的使用方法和常见注意事项汇总
服务器装好系统的电脑怎么分区
Weka 3.8.6安装与Weka 3.8.6功能介绍
探究CSAPP实验二-bomb lab-第一节
swagger使用教程——快速使用swagger
SQLServer下载与安装
DTSE Tech Talk丨第2期:1小时深度解读SaaS应用系统设计
大厂面试官眼中的好简历到底长啥样
获得抖音商品详情 API
哎,这要人老命的缓存一致问题啊
华为云数据治理生产线DataArts,让“数据‘慧’说话”
论文阅读 (63):Get To The Point: Summarization with Pointer-Generator Networks
第一次用debug查询,发现这个为空,是不是代表还没获得数据库的意思?求帮助。
04、Activity的基本使用
Dive deep on Netflix‘s recommender system(Netflix推荐系统是如何实现的?)
CMake库搜索函数居然不搜索LD_LIBRARY_PATH
Discuz杂志/新闻报道模板(jeavi_line)UTF8-GBK模板
The way of life, share with you!




![[MRCTF2020]Ezaudit](/img/80/d4656abdff20703591ffdc3f5a5ebc.png)




