gxtue
驱动牛犊
驱动牛犊
  • 注册日期2004-03-25
  • 最后登录2004-04-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:903回复:3

楼主#
更多 发布于:2004-03-25 14:27
有一
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-03-25 14:42
除非你写RING0的DLL,不然就不行。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分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]
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-25 15:34
当然你也可以用些TRICK,在RING3加载DLL,然后在RING0,分配内存,把代码拷贝到RING0,然后调用,不过你所有的寻址要采用病毒的方式进行重定位才行,还有就是只能用RING0的函数了。。。。。。
如果你想让RING3和RING0共享执行的话,那么不能有任何的函数调用,而只能用你自己的代码,同时,用驱动中在GDT上生成一个4GB的一致代码段,通过该一致代码段来访问,共享执行块,而不能用OS提供的,8,1BH选择子。。。。。。
一致代码段的执行是不进行DPL切换的,而只运行在调用其的例程的DPL中。。。。。。。

[编辑 -  3/25/04 by  wowocock]

一致代码段好像没有0级特权吧。
游客

返回顶部