阅读:2232回复:3
请问一个CIH获得ring0权限的问题?
最近看了一篇分析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权限)? |
|
沙发#
发布于:2003-02-19 19:34
cih 当然不能在win2k下发作。在win2k下没有权限修改中断门,即不能通过此方法进入ring0,也就不能驻留内存感染文件和发作。
|
|
板凳#
发布于:2003-02-28 00:30
我以前在很多地方看到sandy
说的cih进入ring0方法,甚至还有源代码,但我照做之后(VC加嵌汇编),即使在98下也只能蓝屏,请高手指点。 在《电脑编程技巧及维护》杂志上前两年常刊登Ring3获得Ring0的文章,但没有一个我照做后能获得Ring0,不蓝屏的。 |
|
地板#
发布于: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,检查一下你下的代码,应该不会有问题,不行的话你贴在这里也行 |
|