1 段寄存器 1 1 段寄存器的结构 图示: 结构体表示: 1 2 段寄存器的属性探测 可以通过MOV指令进行读写(LDTR和TR除外) 段寄存器成员简介 探测Attribute是否存在 探测Base是否存在 探测Limit是否存在 1 3 段描述符与段选择子 段寄存器的值是通过段描述符填充的。 1 ...
分类:
其他好文 时间:
2019-09-30 18:15:23
阅读次数:
170
段寄存器为16位寄存器,用于与微处理器中的其它寄存器联合生成存储器地址。 对于同一微处理器而言,段寄存器的功能在实模式下和保护模式下是不同的。 代码寄存器CS(Code Segment) CS用于保存微处理器使用的代码,CS定义代码段的起始地址。 实模式下,CS定义一个64K字节存储器段的起点;保护 ...
分类:
其他好文 时间:
2019-09-17 18:55:40
阅读次数:
83
内核初步 在这节教程, 我们将深入研究一些汇编程序, 学习创建链接脚本的基础知识以及使用它的原因。最后, 我们将学习如何使用batch(批处理)文件自动汇编、编译和链接这个最基本的受保护模式下的内核。本教程假定你已经安装了NASM和GCC, 并且了解一点点x86汇编语言。 内 ...
分类:
其他好文 时间:
2019-09-16 21:30:34
阅读次数:
112
1. 获取 redis 镜像 不加版本号默认获取最新版本,也可以使用 docker search redis 查看镜像来源 2. 查看本地镜像 3. 从官网获取 "redis.conf" 配置文件 修改默认配置文件 bind 127.0.0.1 注释掉这部分,这是限制redis只能本地访问 prot ...
分类:
其他好文 时间:
2019-09-15 14:11:46
阅读次数:
113
在上一篇我们讲了关于WebDriver的版本,浏览器初始化,以及下载的设定。 在设置IE浏览器进行WebDriver的测试时,通常会遇见以下几种错误: 1.没有关闭IE浏览器的保护模式。 当运行测试用例后出现类似以下内容的错误: Exception in thread "main" org.open ...
分类:
编程语言 时间:
2019-08-28 13:03:27
阅读次数:
98
前言 上一篇其实已经说完了boot的大致工作,但是Linux在最后进入操作系统之前还有一些操作,比如进入保护模式。在我自己的 "FragileOS" 里进入保护模式是在引导程序结束后完成的。 实模式到保护模式属于操作系统的一个大坎,所以需要先提一下 从实模式到保护模式 实模式和保护模式都是CPU的工 ...
分类:
其他好文 时间:
2019-08-25 14:19:22
阅读次数:
130
在IA32的操作系统中,段被分为了4个特权级,分别为0 3级,有时候我们也叫做ring0 ring3,其中,数值越小特权级越高。如下图所示: 图中,核心代码和数据所在的段的特权级都比较高,一般在ring0,而用户程序所在的段的特权级较低,一般在ring3。当低特权级的任务试图在未被允许的情况下访问高 ...
分类:
其他好文 时间:
2019-08-10 19:28:02
阅读次数:
87
会出现读取失败,那么此时我们需要借助Windbg来辅助操作! 首先找到 0: kd> eq 80b95048 00000000`123456780: kd> dq gdtr80b95000 00000000`00000000 00cf9b00`0000ffff80b95010 00cf9300`00 ...
分类:
其他好文 时间:
2019-07-22 15:23:14
阅读次数:
117
CALL FAR 长调用最终需要执行的代码由CS段选择子找到的调用门决定的 提权的时候堆栈发生了切换,保留原CS,ESP,SS 返回也是RETF 总结: 1.跨段调用时,一旦有权限切换,就会切换堆栈; 2.CS的权限如果没有变更,那么只换CS;’CS的权限一旦发生改变,SS的权限也要随之改变,CS与 ...
分类:
其他好文 时间:
2019-07-17 16:56:12
阅读次数:
167