数据段的权限检查 参考如下代码: 比如当前程序处于0环,也就是说CPL=0 Mov ax,000B //1011   RPL = 3 Mov ds,ax //ax指向的段描述符的DPL = 0 数据段的权限检查: CPL <= DPL  并且 RPL <= DPL (数值上的比较) 注意: 代码段和系统段描述符中的检查方式并不一样,具体参加后面课程. 总结: CPL  CPU当前的权限级别 DPL  如果你想访问我,你应该...

阅读全文>>

0x001 读取GDT表 (删除部分 00000000 ) 0: kd> dq 8003f000 l 3ff 8003f000  00000000`00000000 00cf9b00`0000ffff 8003f010  00cf9300`0000ffff 00cffb00`0000ffff 8003f020  00cff300`0000ffff 80008b04`200020ab 8003f030  ffc093df`f0000001 0040f300`00000fff 8003f040  0000f200`040...

阅读全文>>

根据段描述符进行的拆分 S位 S = 1 代码段或者数据段描述符 S = 0 系统段描述符 S=1的TYPE域作用 A 访问位,表示该位最后一次被操作系统清零后,该段是否被访问过.每当处理器将该段选择符置入某个段寄存器时,就将该位置1. W 是否可写 E 扩展方向 A 访问位 R 可读位 C 一致位 C = 1 一致代码段 C = 0 非一致代码段 S=0 的时候 系统段的分类 直接...

阅读全文>>

0x001 搭建过程 vmware上安装干净版本的xp3, [记住一定要干净版本的, 我昨天用了我以前的一个xp !process命令一直不能使用] 把VirtualKD 的target目录 复制到 虚拟机中 运行 直接确定即可 本机打开: 配置调试器(找到windbg的位置,点击确定即可): 0x002 配置 符号表 重启虚拟机,运行, 会自动打开windbg 运行 g 命令 接着下载符号: S...

阅读全文>>

每个程序都有自己的LDT,但是同一台计算机上的所有程序共享一个GDT。LDT描述局部于每个程序的段,包括其代码、数据、堆栈等。GDT描述系统段,包括操作系统本身。 ①全局描述符表GDT(Global Descriptor Table)在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置,但CPU必须知道GDT的入口,也就是基地址放在哪里,Intel的设计者门提供了一个寄存器GDTR用来存放GDT的入口地址,程序员将GDT设定在内存中某个位置之后,可以通过LGDT指令将GDT的入口地址装入此积存器,从此以后,CPU就根据此寄存器中的内容作为G...

阅读全文>>

购买请联系QQ: 770612230 项目的目录,收集的 中级班(上)注:必须掌握基础课程全部内容才可以入学,可申请免费重修一次!1、开班时间:拍下付款后请及时联系客服QQ2、课程内容:保护模式、系统调用、进程与线程、驱动开发、句柄表、APC机制3、课程时间:3个月4、讲师:海东老师5、费用:698元高级会员费+4499元线上辅导班费用(线上教学,不可退款)6、上课时间:周一至周五21:00-22:307、上课方式:好视通网络教室(支持PC端,安卓手机端,苹果手机端,平板和智能电视)8、教学形式:上课前先看在线视频,提前做练习。上课,老师讲解知识点,答疑解惑。学生轮流课堂做实验。9...

阅读全文>>