kcynice_
驱动牛犊
驱动牛犊
  • 注册日期2008-10-12
  • 最后登录2009-02-24
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2265回复:2

光驱的驱动程序是如何HOOK底动驱动读取的数据的?

楼主#
更多 发布于:2008-10-13 17:37
有这么一个光驱驱动,它对IRP_MJ_READ的处理是简单的转发此IRP到操作系统提供的已有驱动程序,没有其它了,我没有源码。所以我不清楚,当底动驱动读取了用户层想得到的数据之后,它又是如何得到这些数据然后处理再返回给用户的呢?

谢谢
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-10-13 23:28
是光盘加密方面的产品????
当然是再数据返回的时候得到数据的,具体的参考SCSI规范
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
kcynice_
驱动牛犊
驱动牛犊
  • 注册日期2008-10-12
  • 最后登录2009-02-24
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-10-14 10:32
引用第1楼AllenZh于2008-10-13 23:28发表的  :
是光盘加密方面的产品????
当然是再数据返回的时候得到数据的,具体的参考SCSI规范


是啊,光盘加密方面的产品,事实上,是DVD解密方面的,尽管这已经是一个世人皆知的解密方案。但这个用驱动来实现,这样的话,软件都不必要运行了,不是挺好吗?
按常理,它不是需要实现一个IRP_MJ_READ的处理,在这个处理函数中,再简单转发这个IRP请求到系统默认驱动(没必要再实现一遍读写),接下来再用返回的数据进行解密操作,然后再从当前(IRP_MJ_READ)处理中返回到用户层对吧。
但是,现在,它的IRP_MJ_READ里面只有一个转发IRP请求的调用,IofCallDriver

我是想知道它是怎么实现的呢?什么原理?我也会再看看SCSI的规范。
能再给点提示吗?谢谢
游客

返回顶部