首页
论坛
课程
招聘
[求助]有关vmp壳与过滤驱动文件重定向
2018-9-29 01:23 2562

[求助]有关vmp壳与过滤驱动文件重定向

2018-9-29 01:23
2562
各位大佬,小弟在编写64位驱动时遇到了一些问题,请赐教!
1,编写的驱动打上签名后能正常加载,但用vmprotecr3.2加壳以后再签名,却不能加载了,不知道是什么地方出了问题?(我把所有的函数都用VmprotectUltra保护起来了,是否我的操作不正确?)
2,我使用minifilter编写了一段文件重定向函数,如果被比较的文件路径是常量的话没有任何问题,但当我换成链表时却出现了问题:我自行实现了带自旋锁的插入删除链表项函数和查表函数,插入和删除函数在DeviceIoControl函数中被调用,应用层可以随时传递文件路径,且路径均经过处理变为/Device/...开头的格式。在PRE_CREATE回调里成功获取正处理的文件路径后调用查表函数进行比对,若符合则重定向之。在第一次添加文件路径时驱动正常工作,但删除或者第二次添加文件路径时却蓝屏了。(貌似我调用操作其他无关链表的函数也会造成蓝屏?!)而如果在第一次添加文件路径后直接卸载驱动却不会蓝屏。
是因为一边操作链表一边遍历链表导致出问题?(我觉得貌似不是这个原因)还是说除了PRE_CREATE以外还需要在其他回调里做文章?又或者是问题出在其他地方,是由于我学艺不精导致的?
望各位大佬指点一二~!

【公告】看雪招聘大学实习生!看雪20年安全圈的口碑,助你快速成长!

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 31
活跃值: 活跃值 (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MaMy 活跃值 2018-9-30 14:39
2
0
新系统开启DG了?
如果是 那正常,只要区段不对(加壳)就不给加载..
用o-llvm编译吧
第二个 代码问题,看看蓝屏code?自己调吧

最后于 2018-9-30 14:40 被MaMy编辑 ,原因:
雪    币: 475
活跃值: 活跃值 (775)
能力值: ( LV8,RANK:122 )
在线值:
发帖
回帖
粉丝
古月浪子 活跃值 2018-9-30 17:25
3
0
MaMy 新系统开启DG了?如果是 那正常,只要区段不对(加壳)就不给加载..用o-llvm编译吧第二个 代码问题,看看蓝屏code?自己调吧
感谢大佬回复
我虚拟机的版本是1709,不知道有没有dg(不懂dg是啥,类似pg的新玩意儿?)
蓝屏的问题会不会是irql的原因?因为我发现即使我修改的链表与重定向链表无关还是要蓝屏,而添加链表项的函数里我只发现了一个可能导致蓝屏的函数:exinterlockedinsertheadlist,是否这个需要自旋锁的函数会与重定向代码冲突?
雪    币: 1202
活跃值: 活跃值 (831)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
StriveXjun 活跃值 2018-9-30 18:49
4
0
这里你得注意,你的驱动编译肯定开优化的,你程序优化的会把VMP标记给错乱,然后加壳的时候,VM的地址就不是你想的那样了,直接会导致蓝屏。
雪    币: 31
活跃值: 活跃值 (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MaMy 活跃值 2018-9-30 19:59
5
0
古月浪子 感谢大佬回复 我虚拟机的版本是1709,不知道有没有dg(不懂dg是啥,类似pg的新玩意儿?) 蓝屏的问题会不会是irql的原因?因为我发现即使我修改的链表与重定向链表无关还是要蓝屏,而添加链表项 ...
那就不是我说的那个问题,17134才有,
你这个估计是vmp加多 加的起不来了

蓝屏这个说了你自己调啊.
不给BSOD bugcheck code 怎么帮你
..要么贴代码上来,要么自己单步
最后于 2018-9-30 20:01 被MaMy编辑 ,原因:
雪    币: 475
活跃值: 活跃值 (775)
能力值: ( LV8,RANK:122 )
在线值:
发帖
回帖
粉丝
古月浪子 活跃值 2018-10-1 00:53
6
0
StriveXjun 这里你得注意,你的驱动编译肯定开优化的,你程序优化的会把VMP标记给错乱,然后加壳的时候,VM的地址就不是你想的那样了,直接会导致蓝屏。
感谢大佬回复
优化是指vs的配置属性-链接器-优化吗?如果是的话该如何禁用呢?
游客
登录 | 注册 方可回帖
返回