阅读:1366回复:7
打算用网上介绍的如下方法在Win98中切入Ring0,然后对绝对物理地址0xfff80000地址进行操作,可行吗?(因第一贴
我用打算用网上介绍的如下方法在Win98中切入Ring0,然后对绝对物理地址0xfff80000地址进行操作可行吗?
Win98中切入Ring0: http://person.zj.cninfo.net/~yhaiyan/technology/vc/vc71.htm |
|
沙发#
发布于:2002-02-28 13:27
因为第一贴1.不够详细,2.没有设置回答给分.所以重贴,希望斑竹见谅.
|
|
板凳#
发布于:2002-03-01 17:04
再次说:(供讨论,因为我也在凿么,就把想法给说出来了)
直接物理地址估计不行,因为cpu只接收虚拟地址是吧?而后才经过分段分页产生要访问的物理地址,是吧?也就是就是说cpu访问物理地址是自动产生的(由虚拟地址内在转化的),不是我们指定的,对吧? 假定环境是:win98的保护模式 你说呢?大家评。 [编辑 - 3/1/02 作者: guoj] |
|
|
地板#
发布于:2002-03-02 12:04
对绝对物理地址 fff8:0000 地址进行直接操作大概是不行的, 书上不是说\"页变换完全对程序员是透明的\"吗! 嘿嘿.
不过, 我以前看过别人的这方面的文章, 说是可以操作, 我也没有试验过, 并且现在一时找不到那些文章了. 你如果在新浪,搜狐等搜索引擎里边查查\"系统核心\",\"保护模式\", 查查相关网站, 也许能够找到这些文章. |
|
地下室#
发布于:2002-03-22 12:00
绝对不行,必须先把物理地址转换为线性地址,因为CPU只认线性地址
|
|
|
5楼#
发布于:2002-03-22 12:18
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2002-03-22 14:14
直接地说:\"既使是在内核态,也不能直接对物理内存进行操作,必须先将其转换为线性地址,然后才能对其进行操作。\"
相关的论述可以参见《Windows VxD 与设备驱动程序权威指南》一书。 |
|
|
7楼#
发布于:2002-03-22 14:38
这和是否是driver没关系,而是cpu决定的,一旦启动分页机制,不管是谁,一律都要经过分页转换,即使WDM里的nonpaged pool也是分页内存,只是windows不会把它换到硬盘上而已(这个问题我和Tom_lyd讨论过)。VM386模式有些特殊,是一种保护模式下的实模式,虚拟的实模式。
|
|
|