-
-
[旧帖]
[求助]有关RING 0的一连串问题
0.00雪花
-
发表于:
2014-2-15 03:01
1441
-
[旧帖] [求助]有关RING 0的一连串问题
0.00雪花
小弟这几周一直想要在无驱动的前提下进入RING0(也就是可以访问系统记忆体,随意更改寄存器的值......之类的),原因是我想做一个可以隐藏指定程序,让其他的程序无法检测到他,本来蛮顺利的,网路上有许多教学,但是RING0这关却总是没啥进展,看雪本身也有许多RING0的教学以及原理解析,甚至大部分都附有范例,但是我按照他们说的方法做却通通办不到,陷阱门,中断门,修改IDT.....之类的我都看过了,但明明范例里很简单的几条ASM指令,在我的电脑上都会引发异常,跳到NTdll中,最后他们无一例外被terminate,我用OllyDbg跟过后,发现有问题的是cli sti之类的指令,现在第一个问题出现了
1.这两条指令是不是在RING0状态下才能被执行?如果在RING0状态下才能被执行,那为什么教学理这样写呢?是不是他们用的是win9X,而我用的是win7,在保护上有所不同?
补充:他被terminate前大概都长这个样子
由于上述的疑问,我放弃了这些方法,改去搜寻(NT下无驱动进RING0),结果还真的有!
http://bbs.pediy.com/showthread.php?t=37946 (作者是hopy)
看着看着,也多多少少摸出一点心得,正当一切顺利快要完工时,却突然发现他所说的写物理内存的方法,根本就无法使用,原因是他呼叫的那些函式,要有RING0权限才能工作,可是我如果有了RING0权限,那我还写这些干嘛呢?根本就是自相矛盾,于是有了问题2
2.如果诸位有空,对这方面了解的话,麻烦帮我看看这篇文章,看我是不是漏掉了神么重要的部分,他所说的写物理内存,有没有可能在win7下实现?
在以上所说的尝试都接连失败后,我最终跑去研究SEH,他有个很怪的中文名称,叫做<结构化异常处理>,会跑来研究他的原因,是因为<加密语解密>中的一句话,当程序引发异常,系统会去一个程序中的FS寄存器找寻一偿处理函式,并且由系统呼叫,于是我就想,系统呼叫!那不是就等于RING0了吗? 我只要把FS指向的地址改成我的,我就能进RING0了,但是.......还是失败了,我的确引发了异常,而且他也真的跳到我指定的地址去执行我的程式码,但是我的权限并没有增加,我还是在RING3!,我无法呼叫STI CLI ,也无法修改EIP的值,cr0到cr7我更是碰都碰不到,
于是我有了第3个问题
3.他说的<由系统呼叫>是什么意思?<由系统呼叫>不是应该是RING0吗?还是我会错意了?
如果你有办法回答上面任何一个问题或什至更多,拜托帮我个忙,对我的计画会有莫大的进展,而最终还有问题4
4.这一切都是为了RING0,如果各位还知道任何在WIN7,处理器<INTEL CORE i5>下,能无驱动进入ring0的方法,拜托拜托,麻烦提出来帮个忙吧,我已经常是一个多星期了,到目前还没有成功一次.........
最后,感谢大家的帮忙!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)