自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 1.5windwos内核——分页

两个虚拟内存之间互不影响虚拟内存离不开物理内存,物理内存的地址移动,虚拟内存也会随之移动物理内存满了后,会将不用的内存放到缓冲区,虚拟内存大小4GB,物理内存大小取决于内存条大小开机时实模式访问的物理地址,开启保护模式后都是虚拟地址每个进程有自己的一份CR3寄存器,一个进程里的线程共用一个CR3。页目录表PDT 4KB 4096字节,PDE有4字节,一共有1024项,10个2进制位1012PDE高20位是物理地址,指向另外一个物理页,低12位是属性。每个物理页都是4kb页表中PTE

2021-10-13 19:06:22 111

原创 1.4 windows内核——中断门,陷阱门,任务门

TSS任务状态段 一个内核一个,存在于内存中,不存在与cpu;可以让cpu同时执行多个任务。进程A申请堆栈时要向TSS申请,申请时会有两个一个0环,一个3环的,1.TSS结构本质:不要把TSS与“任务切换”联系到一起TSS的意义就在于可以同时换掉”一堆”寄存器段寄存器有es,cs,ds,gs,idtr,tr那么如何找到TSS,答案是tr从GDT表中找到tr段寄存器,selector记录着TSS段描述符,base记录TSS表位置,limit记录TSS大小2.tr段寄存器3. TSS

2021-10-13 15:29:34 546

原创 1.3 window内核——调用门

调用门起的过度的作用,3环的程序经过调用门再到0环中运行指定命令,再出0环回到程序执行调用门执行流程指令格式:CALL CS:EIP(EIP是废弃的)执行步骤:1) 根据CS的值 查GDT表,找到对应的段描述符 这个描述符是一个调用门.2) 在调用门描述符中存储另一个代码段段的选择子.3) 选择子指向的段 段.Base + 偏移地址 就是真正要执行的地址.门描述符注意:1. S位(第12位)必须为0,只有当S位为0时,段描述符才是系统段描述符;此时,当Type域为1100时,该描

2021-10-09 20:21:35 167

原创 1.1 windows内核——保护模式

仅用于记录个人日记,直供参考1、什么是保护模式?x86 CPU的3个模式:实模式、保护模式和虚拟8086模式。保护模式包括段的保护机制和页的保护机制段寄存器有ES CS SS DS FS GS LDTR TR 共8个段寄存器成员简介段寄存器格式struct SegMent{ WORD Selector; //16 WORD Attributes; //16 DWORD Base; //32 DWORD Limit; //32}ES:[0]不可用FS

2021-10-08 12:36:22 827

原创 1.2 window内核——代码跨段(Jmp和call指令对堆栈的操作)

JMP指令jmp 0x20:0x004183D7调用时的步骤拆分,将0x20拆分成b0010 000,RPL=0;TI=0;index=4查找GDT,找到第五个段描述符;四种情况可以跳转:代码段、调用门、TSS任务段、任务门权限检查,如果是非一致代码段,要求:CPL == DPL 并且 RPL <= DPL;如果是一致代码段,要求:CPL >= DPL(CPL由CS二进制位后两位决定)加载段描述符通过上面的权限检查后,CPU会将段描述符加载到CS段寄存器中.代码执行CPU将 CS

2021-10-08 12:34:41 750

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除