ok100fen 发表于 2010-8-13 22:14:56

ring0和ring3的区别在哪里?

ring0和ring3的区别是什么?
从软件上怎么来区别?
也就是经常听到我这个代码是r0的
而你这个是r3的
到底从哪里区分的?
难道就是exe和sys?

oopww 发表于 2010-8-13 22:20:59

{:3_64:}RING0只给操作系统用,RING3谁都能用。如果普通应用程序企图执行RING0指令,则Windows会显示“非法指令”错误信息。因为有CPU的特权级别作保护。

Tesla.Angela 发表于 2010-8-13 22:43:08

简单的说,就是Ring3代码不能执行特权指令,而Ring0代码可以。
你试试在VC里写下这段代码,看看编译后运行有什么反应:

int main()
{
      unsigned long scr3;
      __asm
      {
                mov eax,cr3
                mov scr3,eax
      }
      return 0;
}

a33287651 发表于 2010-8-14 23:54:46

马大哈 发表于 2010-8-16 10:49:28

记得在哪里看到过,说CPU有Ring0到Ring3一共四种权限等级,而WINDOWS只用到了Ring0与Ring3两种....

夜太美 发表于 2013-2-1 02:25:22

Ring3能杀掉普通的进程保护,Ring0能杀掉变态的进程保护。。。

kk1025 发表于 2013-4-7 15:54:35

Ring 3的程式是CALL NTDLL.DLL來和KERNEL溝通,還需要透過KERNEL做轉譯,Ring 0通常是CALL NTOKKRNL.EXE,直接對核心做溝通
页: [1]
查看完整版本: ring0和ring3的区别在哪里?