-
-
[原创]发发俺的第一题解决方案
-
2008-12-19 13:55
41061
-
mbrprot..sys驱动建立了一个假atapi的DriverObject和一个假DeviceObject,并以此对传过来的IRP进行处理,由于不得破坏mbrpto.sys自有流程(包括不得改写mbrprot.sys的代码,不得HOOK mbrprot.sys可能调用的系统函数等);俺想出两种解决办法。
1、由于已说明系统有且仅有一个IDE硬盘,必须是ATA接口,因此可以得到\\Device\\Ide\\IdePort0 Device对象后直接向atapi驱动发IRP。
2、直接IO硬盘之。
3.利用SCSI_PASS_THROUGH_DIRECT写进去。
4.直接对DR0发送IRP,由于对DR0发送IRP位于的磁盘保护驱动的上端,因此会被磁盘保护驱动检查,但由于磁盘保护驱动检查的是srb->QueueSortKey,所以可以通过修改srb->QueueSortKey来绕过磁盘保护驱动,这与直接向atapi驱动发送IRP的方法不同,不是得炒冷饭。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法