type
status
date
slug
summary
tags
category
icon
password
😀
保护模式

段寄存器

段寄存器结构

我们在OD当中查看段寄存器,上面显示32位,但真的是32位吗?
notion image
Intel白皮书介绍段寄存器结构为如下16位可见部分(selector),80位隐藏部分
notion image
对应结构图如下:
notion image
Win7 x86 R3 Segment
Segment
Selector
Base
limit
Attribute
CS
0x001B
0
0xFFFFFFFF
可读,可执行
DS
0x0023
0
0xFFFFFFFF
可读,可写
SS
0x0023
0
0xFFFFFFFF
可读,可写
ES
0x0023
0
0xFFFFFFFF
可读,可写
FS
0x003B
0x7FFDF000
0xFFF
可读,可写
GS
-
-
-
-

段寄存器的读写

读取段寄存器
notion image
notion image
写入段寄存器
notion image
notion image
notion image

段寄存器属性探测

我们在前面了解到了段寄存器的结构,它不仅有值还有属性
notion image

Attribute

我们拿cs这个段寄存器进行实验,因为的它是可读可执行,那我们先将cs的地址赋值为ax这个寄存器,然后让gs寄存器的地址指向cs寄存器
我们可以在这里设置断点,然后直接运行
notion image
正好验证CS寄存器是可读可执行,并且是不可写入的.
notion image
 

Base

notion image

limit

如果超过了限制大小会读取失败
notion image

📎 参考文章

💡
有关学习上的问题,欢迎您在底部评论区留言,一起交流~
IDA-so文件调试环境搭建驱动开发环境配置
Loading...
5m10v3
5m10v3
目前主攻方向为Re
Announcement
🎉5m10v3のBlog已经上线啦🎉
-- 感谢各位师傅的支持 ---
👏欢迎师傅们前来交流👏