阅读:905回复:3
有一
|
|
沙发#
发布于:2004-03-25 15:34
当然你也可以用些TRICK,在RING3加载DLL,然后在RING0,分配内存,把代码拷贝到RING0,然后调用,不过你所有的寻址要采用病毒的方式进行重定位才行,还有就是只能用RING0的函数了。。。。。。 一致代码段好像没有0级特权吧。 |
|
板凳#
发布于:2004-03-25 14:48
当然你也可以用些TRICK,在RING3加载DLL,然后在RING0,分配内存,把代码拷贝到RING0,然后调用,不过你所有的寻址要采用病毒的方式进行重定位才行,还有就是只能用RING0的函数了。。。。。。
如果你想让RING3和RING0共享执行的话,那么不能有任何的函数调用,而只能用你自己的代码,同时,用驱动中在GDT上生成一个4GB的一致代码段,通过该一致代码段来访问,共享执行块,而不能用OS提供的,8,1BH选择子。。。。。。 一致代码段的执行是不进行DPL切换的,而只运行在调用其的例程的DPL中。。。。。。。 [编辑 - 3/25/04 by wowocock] |
|
|
地板#
发布于:2004-03-25 14:42
除非你写RING0的DLL,不然就不行。
|
|
|