首页
社区
课程
招聘
[求助]0F34的问题
发表于: 2009-1-15 22:22 3675

[求助]0F34的问题

2009-1-15 22:22
3675
1. 机器码0F34进入了ring0级,是不是只能用winice才能跟进去?
2. ring0和ring3都听说过了,那ring2是什么?
3. 好像也有ring4吧,那是什么?还是本来就没有?
谢谢。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我不能回答你第一个问题,听说是softice和windbg是调试内核的工具。winice我不知道,od应该是ring3的工具

问题2和3的回答:ring只有0到3,而且WINDOWS系统只用了ring0和ring3,没有ring1/ring2
2009-1-15 22:36
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
3Q!
刚百度了一下……
ring0-3,我又犯傻了……3-0+1=4,有4层……

但是ring1和ring2我还是不知道有什么用处…… 谁知道呢?
2009-1-15 22:42
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
WINDOWS没有用这2层,所以只有2个等级权限
2009-1-15 22:45
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
思路为什么要卡在windows上呢?我想知道ring1和ring2的用处……为将来保留???
8086好复杂啊……
SS0:ESP0---SS3:ESP3到底是怎么回事??
2009-1-15 22:50
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我也不知道操作系统是怎么设计的,可是我想一个功能强大的操作系统应该非常复杂,有很多的命令。如果权限要实现分层,每层的相关指令接口API必须要包装好,这个会影响系统的效率。
ring1/ring2为将来的功能扩展提供了可能
可是除非真的非常必要,不然不用牺牲效率来换意义不大的更多权限分层。
2009-1-15 22:59
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
7
ring0 - ring3 是CPU的4个不同的特权级别,你把保护模式的相关知识多看一遍就懂了。

INTEL这样设计,最初是这么设想的(不是我编的,是在某本很古老的小手册上看到的):ring0运行(微)内核代码,ring1运行设备驱动程序,ring2运行系统服务代码,ring3是留给应用程序的。

实际上现代操作系统绝大多数都只使用两个特权级别来区别对待用户代码和内核代码。不过听说四川国芯他们有一伙人做的那个未来Alpha的内核,似乎用了多个特权级,不过这个东西还在开发中,也不开源,所以无从考证。
2009-1-15 23:16
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
intel自己说0F34怪清楚的……
Executes a fast call to a level 0 system procedure or routine. SYSENTER is a
companion instruction to SYSEXIT. The instruction is optimized to provide the
maximum performance for system calls from user code running at privilege level 3 to
operating system or executive procedures running at privilege level 0.
Prior to executing the SYSENTER instruction, software must specify the privilege
level 0 code segment and code entry point, and the privilege level 0 stack segment
and stack pointer by writing values to the following MSRs:
• IA32_SYSENTER_CS — Contains a 32-bit value, of which the lower 16 bits are
the segment selector for the privilege level 0 code segment. This value is also
used to compute the segment selector of the privilege level 0 stack segment.
• IA32_SYSENTER_EIP — Contains the 32-bit offset into the privilege level 0 code
segment to the first instruction of the selected operating procedure or routine.
• IA32_SYSENTER_ESP — Contains the 32-bit stack pointer for the privilege level
0 stack.
These MSRs can be read from and written to using RDMSR/WRMSR. Register
addresses are listed in Table 4-6. The addresses are defined to remain fixed for future
Intel 64 and IA-32 processors.
但是3卷里搜索只见到ring0,ring3和ring>0这三个字眼………………………………
access to the
I/O address space is restricted to privilege levels 0 and 1
ring1只是在某个角落提了一下……
ring2没找到…………………………

还有,ring0到底除了ice,有没有其他的东东能跟0F34了???
2009-1-15 23:18
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
是这样啊……
谢谢……
但是0F34谁能跟踪哩??
2009-1-15 23:20
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
10
要跟踪到系统内核,要么使用内核级的调试器,如SoftIce,或者WinDBG,要么就使用带调试功能的虚拟机,如Bochs。

不过要Bochs安装Windows真不是件简单的事啊。。。
2009-1-16 00:15
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
听说...
Windows不要用Ring1 ' Ring2 是为了要能在多种硬件平台上跑
这些硬件平台的CPU可不像Intel x86系列一样有4种权限
2009-2-12 01:06
0
游客
登录 | 注册 方可回帖
返回
//