zoukankan      html  css  js  c++  java
  • 一致代码段和非一致代码段

    在看一致代码段和非一致代码段的时候,感觉不理解,所以自己动手做了下实验

    非一致代码段

    在我用3环的非一致代码段的时候,并且用jmp far 0x48:0x401930它是可以跳过去的,如图:

    运行前

     

     运行后

     

     可以发现cs从1b变成了4b,就是说rpl为3,在看看段描述符dpl也是3

    接下来我们把dpl变成0试试

    运行前

     

     运行后

     

     

     od直接报错了,也就是说我们直接用3环程序去访问0环的非一致代码段,是不被允许的,如果需要访问需要用调用门(想用0环程序去访问3环的程序,可是自己注册驱动有点麻烦,在网上找一个好点的驱动注册机,也没找到,希望有大佬能推荐一个)

    一致代码段

    首先我们来看3环的一致代码段

     运行前

     运行后

     可以看到cs从1b变成了4b

    再来看看0环的一致代码段

     运行前

     运行后

     可以发现这里的cs也变了

    总结

    由此我们可以看出在cpl为3的情况下,一致代码段是0环程序和3环程序都可以执行的,而非一致代码段是只有3环可以跳的(0环可不可以跳  我还不知道  还得亲自做实验才行,得通过写驱动来完成,所以我得先去找一个快速注册驱动的程序,不然手动注册感觉麻烦)

    再放上我在网上找到一些资料

  • 相关阅读:
    VFIO PF SRIOV IOMMU UIO概念解释、关联
    集群节点间网络通信TIPC
    1. C语言中的数据结构.md
    第三讲. COTS包交换介绍
    SYSTick 定时器
    热电偶基础知识介绍-04
    附录1· 初识Linux操作系统
    热电偶冷端补偿
    珍惜是最宝贵的财富。
    CSS 设置标题文字只显示一行,多余显示省略号
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/13732331.html
Copyright © 2011-2022 走看看