| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1613 人关注过本帖
标题:求教大虾们::ring3进ring0中的一个指针问题
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
80x86保护模式系列教程 李彦昌

这个有电子书 chm的 不花钱就能看
2011-02-20 19:11
lyklyk75124
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-2-19
收藏
得分:0 
楼上   cs不同  定位出来的线性地址是不同的
2011-02-20 19:20
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用lyklyk75124在2011-2-20 19:20:29的发言:

楼上   cs不同  定位出来的线性地址是不同的

问的好啊 是一定不同 还是可能不同呢。。
2011-02-20 20:16
lyklyk75124
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-2-19
收藏
得分:0 
是可能不同   但在这里我也看不到相同的地方   3e8的基址是0
2011-02-20 20:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
调用门描述某个子程序的入口。调用门内的选择子必须是实现代码段描述符,调用门内的偏移是对应代码段内的偏移。利用段间调用指令CALL,通过调用门可实现任务内从外层特权级变换到内层特权级。

这里 我们的调用门的偏移量就是retn 而选择子是 3E8H

3E8H是我们自己写的

        mov [edx].LIMITL,0FFFFH   ;创建自己的代码段描述符
        mov [edx].BASEL,0
        mov [edx].BASEM,0
        mov [edx].ATTRIBUTES,CODE_TYPE
        mov [edx].BASEH,0

这个正好和系统建立的代码段 也就是 我们ring3代码段的基址 一类的东西一致

故而 你担心的那种情况不存在。。

平坦模式下的段 总是对应着4G的地址空间的 不会自找麻烦 搞一些变换、、
2011-02-20 20:40
lyklyk75124
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-2-19
收藏
得分:0 
按你说   还要代码段描述符中的32位段基址做什么  不如不要了  都统一了  还分配什么内存
2011-02-21 11:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用lyklyk75124在2011-2-21 11:42:51的发言:

按你说   还要代码段描述符中的32位段基址做什么  不如不要了  都统一了  还分配什么内存

您觉得我说的没理 那您说个有理的我听听呗 呵呵
2011-02-21 15:10
lyklyk75124
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-2-19
收藏
得分:0 
楼上  我是真不明的  不过你说的我就更不明了 按你说的cs中除了cpl有用外 别的都没用了
2011-02-21 16:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
嗯 其实我也不明白。。

不过我知道

1 这个不用研究的太透彻 确切的说是 研究透了也没啥用

2 对于这个方法 先记住这个思路 知道有这个方法 会用 就好了

3 如果你真想搞明白 先吃透我说的那些书 然后再看windows内核方面的书 就好了

4 多说一句 windows的平坦(flat)模式 就是一种把问题简单化的设计 试想 如果在windows完全依赖这些复杂的设计 那 不仅是效率低 而且容易出错

你肯定会反驳我说要彻底搞明白云云 不过 研究透了真没啥用 我感觉是这样 实用性上 不实用 理论意义 也不大嘛

说白了 不过是 内核安全编程(你懂得我指的什么。。)方面的一个小技巧

当然 你研究我也管不着 是罢 欢迎继续等待牛人或另寻贤能 我就这水平了。。

2011-02-21 17:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
哦 我再多说一句 我到现在也搞不明白 您到底是不明白什么

如果您自己都不知道自己不知道什么 那 呵呵
2011-02-21 17:18
快速回复:求教大虾们::ring3进ring0中的一个指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012117 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved