阅读:2265回复:2
光驱的驱动程序是如何HOOK底动驱动读取的数据的?
有这么一个光驱驱动,它对IRP_MJ_READ的处理是简单的转发此IRP到操作系统提供的已有驱动程序,没有其它了,我没有源码。所以我不清楚,当底动驱动读取了用户层想得到的数据之后,它又是如何得到这些数据然后处理再返回给用户的呢?
谢谢 |
|
沙发#
发布于:2008-10-13 23:28
是光盘加密方面的产品????
当然是再数据返回的时候得到数据的,具体的参考SCSI规范 |
|
|
板凳#
发布于:2008-10-14 10:32
引用第1楼AllenZh于2008-10-13 23:28发表的 : 是啊,光盘加密方面的产品,事实上,是DVD解密方面的,尽管这已经是一个世人皆知的解密方案。但这个用驱动来实现,这样的话,软件都不必要运行了,不是挺好吗? 按常理,它不是需要实现一个IRP_MJ_READ的处理,在这个处理函数中,再简单转发这个IRP请求到系统默认驱动(没必要再实现一遍读写),接下来再用返回的数据进行解密操作,然后再从当前(IRP_MJ_READ)处理中返回到用户层对吧。 但是,现在,它的IRP_MJ_READ里面只有一个转发IRP请求的调用,IofCallDriver 我是想知道它是怎么实现的呢?什么原理?我也会再看看SCSI的规范。 能再给点提示吗?谢谢 |
|