首页
社区
课程
招聘
未解决 [求助]求助r0 NtDeviceIoControlFile hook这个函数的问题
发表于: 2018-12-27 13:04 2281

未解决 [求助]求助r0 NtDeviceIoControlFile hook这个函数的问题

2018-12-27 13:04
2281
在驱动层HOOK了 
VOID NtDeviceIoControlFile(IN HANDLE  FileHandle,
IN HANDLE            Event,
IN PIO_APC_ROUTINE   ApcRoutine,
IN PVOID             ApcContext,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG             IoControlCode,
IN PVOID             InputBuffer,
IN ULONG             InputBufferLength,
OUT PVOID            OutputBuffer,
IN ULONG             OutputBufferLength)
1,请问下如何 直接在驱动层直接访问  OutputBuffer 数据?
2,请问如何在本函数里面追溯到process,也就是谁调用过来的这个函数?
请各位大佬解答,先谢谢了!


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
2
线程
2018-12-27 14:01
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
先调用原来的NtDeviceIoControlFile
然后判断OutputBufferLength是否为0,OutputBuffer是否为空
不为0也不为空,就可以直接访问,或者用MDL锁住再访问
64位下先取gs:[188h],再加偏移60h还是70h就可以追溯到process
叫什么get...process...函数不记得了
2018-12-27 14:06
0
雪    币: 6694
活跃值: (4172)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
github 一搜一大堆,需要就联系我
2018-12-27 14:55
0
雪    币: 1036
活跃值: (1316)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
5
这个api走到驱动层就是 afd了 afd在走就是tdi了,你直接attach tdi跟这不是一样的效果?  还特意去hook ,搞的64位不兼容?你肯定又是山总
2018-12-27 15:20
0
雪    币: 13
活跃值: (339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
声明一下!我不是什么山总,关于去年发的帖子今天才看到回复比较晚了抱歉!关于这个问题已经解决了。而且也做到了一个很不错的效果,ph查不到hook的位置,算是意外发现!在此感谢楼上4位朋友回帖。
2019-3-20 02:21
0
游客
登录 | 注册 方可回帖
返回
//