首页
社区
课程
招聘
[求助]hook ZwRequestWaitReplyPort 遇到的问题
发表于: 2016-5-24 16:34 6990

[求助]hook ZwRequestWaitReplyPort 遇到的问题

2016-5-24 16:34
6990
如题,任务需要,要求写一个监视禁止服务的驱动,现在的进展是根据ssdt hook 的框架 拦下了 ZwRequestWaitReplyPort,,通过对该函数的第二个参数Request Message进行分析,发现所有的messagetype均为2,,,请教各位大神,,这是什么原因
typedef struct LpcMessage{

                USHORT     DataLength;
                USHORT     Length;
                USHORT     MessageType;
                USHORT     DataInfoOffset;
                CLIENT_ID  ClientId;
                ULONG      MessageId;
                ULONG      CallbackId;
                BYTE       MessageData[150];
        } LPCMESSAGE, *PLPCMESSAGE;
messgetype 宏定义
#define UNUSED_MSG_TYPE                 0
#define LPC_REQUEST                     1
#define LPC_REPLY                       2
#define LPC_DATAGRAM                    3
#define LPC_LOST_REPLY                  4
#define LPC_PORT_CLOSED                 5
#define LPC_CLIENT_DIED                 6
#define LPC_EXCEPTION                   7
#define LPC_DEBUG_EVENT                 8
#define LPC_ERROR_EVENT                 9
#define LPC_CONNECTION_REQUEST         10
查资料得知客户端使用该函数向服务端发送请求并等待回复,messagetype为什么会都是LPC_PEPLY类型呢?

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

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 3
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不能就这么沉下去啊,TUT,已经卡了好几天了实在是不知道为什么拦下的messagetype都是2,难道是我的思路就不对么,可是用IDA看control service的调用过程,最后是通过这个函数来向service.exe发送请求啊
2016-5-25 10:57
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我记得control service是pipe通讯,不是lpc
2016-5-25 21:44
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
LoadImage+CmpCallback
2016-5-25 22:33
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
LoadImage永远是system , cmpcllback永远是services.exe.
2016-5-28 22:00
0
雪    币: 3
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢,不光是control service 我还测试了其他的service函数都是2,甚至就是当我拦下这个函数之后打印出的messagetype 都是2
2016-5-29 14:34
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不如直接R3 HOOK算了.
SSDT X64你得用VT.
2016-5-29 21:20
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
借楼提问:
CreateProcess得到的进程句柄,是不经过obCallBack的. 不拦截进程创建的情况下,X64上内核中有办法控制这个句柄的权限吗.
2016-5-29 21:21
0
雪    币: 3
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
是32位,最后是考虑ring3hook 了,哎
2016-5-29 22:39
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我记得是经过obcallback的
2016-5-30 07:23
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
已验证.果然经过.看来之前弄错了...
2016-5-30 15:52
0
游客
登录 | 注册 方可回帖
返回
//