sandy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-23
  • 最后登录2005-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2227回复:3

请问一个CIH获得ring0权限的问题?

楼主#
更多 发布于:2003-02-19 17:17
最近看了一篇分析CIH的文章,提到cih首先获得IDT基址,
然后自己构造一个中断门,执行一条int 2E,进入ring0。

读了之后,我用softice看了一下,(我的系统是2000)
:GDT
GDTbase = 80036000   limit=03ff
:IDT
IDTbase = 80036400   limit=07ff
:page 80036000
Linear     Physical    Attributes
80036000   00036000    P D A S RW

GDT与IDT所在的页级别是“S”,只有先进入ring0才能写GDT和IDT。

我找不到win9x的机器,请哪位乐于助人的dx在win9x下运行softice,
执行上面的三条指令(GDT,IDT,page),把结果告诉我好不好?

btw:按照上面的想法,是不是cih在win2000下不能发作(无法获得ring0权限)?
dengyh
驱动牛犊
驱动牛犊
  • 注册日期2002-11-22
  • 最后登录2005-02-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-19 19:34
cih 当然不能在win2k下发作。在win2k下没有权限修改中断门,即不能通过此方法进入ring0,也就不能驻留内存感染文件和发作。
Reehac
驱动牛犊
驱动牛犊
  • 注册日期2001-06-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-28 00:30
我以前在很多地方看到sandy
说的cih进入ring0方法,甚至还有源代码,但我照做之后(VC加嵌汇编),即使在98下也只能蓝屏,请高手指点。

在《电脑编程技巧及维护》杂志上前两年常刊登Ring3获得Ring0的文章,但没有一个我照做后能获得Ring0,不蓝屏的。
bsod1977
驱动牛犊
驱动牛犊
  • 注册日期2003-03-01
  • 最后登录2003-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-01 11:30
WIN98 SE下用TRW2000查看到的信息
:gdt
GDT max = 0fff
GDT base = C0F73000
 sel  type   base     limit    dpl attr
0008  Code16 00009750 0000FFFF 0 aRA
0010  Data16 00009750 0000FFFF 0 eWA
0018   TSS32 C000D7D4 00002069 0 eWA
0020  Data16 C0F73000 00000FFF 0 eWA
:ldt
LDTsel = 00B8 LDTbase= 80004000 LDTlimit = 4FFF
 sel  type   base     limit    dpl attr
0087  Data16 80003000 00000FFF 3 eWa
008F  Data16 80014000 00000FFF 3 eWa
0097  Data16 80015000 00000FFF 3 eWa
009F  Data16 80016000 00000FFF 3 eWa

:page c0f73000
Page Directory  Physical=a56000 Linear=ffbfe000
Linear   Phys     Attibutes  Type
-------- -------- ---------- ----
C0F73000 01674000 P D A U RW SYS    
reehac,检查一下你下的代码,应该不会有问题,不行的话你贴在这里也行
游客

返回顶部