关于绕过过滤驱动的资料的个人看法和摘要

本文介绍了如何利用IoCallDriver直接传递自定义IRP给目标设备,以绕过过滤驱动。通过IoGetDeviceObjectPointer获取DeviceObject指针,或者使用未文档化的ObReferenceObjectByName函数获取DriverObject指针,从而访问设备。虽然无法避免底层Driver的HOOK,但此方法可以避开一些上层Driver。构造IRP是难点,建议参考网上的资源进行学习。
摘要由CSDN通过智能技术生成

    刻苦钻研了使用驱动直接使用IN/OUT指令来修改MBR,但是读取成功了,而写MBR却一直没有进展,到现在也没有写进去,汗

根据网友提供的链接发现了这篇文章,http://www.codeproject.com/KB/system/rawsectorio.aspx。以下所有的个人看法全部依据本文。

 

    在看这篇文章之前倒是了解过winhex这款软件,也使用这个软件在ring3下修改了MBR,所以就怀着一腔的幻想去调试winhex,结果可想而知,莫有结果,只找到一个函数KiFastSystemCall,由于之前对这些深层的东西没有什么了解,所以也算是有所收获,到这里也就以失败告终了。

发现KiFastSystemCall函数时以为winhex内部用了非正常手段,看了这篇文章后才突然觉悟可能是winhex内部调用的系统API然后由API调用的KiFastSystemCall函数(好像是用来跳转到ring0的吧),所以也就纠正了原来的错误,通过那篇文章(当然要保证链接到文章的正确性),另外了解到的是IoCallDriver原来也是可以利用的。

之前还一直认为IoCallDriver会把IRP传递给传入的DEVICE_OBJECT参数的device stack的栈顶DEVICE_OBJECT,现在回头想想,简直太可笑了,因为这肯定是错误的,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值