首页
社区
课程
招聘
QQ密码框好YD
发表于: 2010-10-1 00:52 34783

QQ密码框好YD

2010-10-1 00:52
34783

现在QQ密码框是没驱动保护的,而且一般Ring3键盘记录器是钩不键盘输入的,钩到的都是乱码。
键盘按键从端口--中断--IRP后在csrss中变成MSG,从很多地方都能钩住的。
windows键盘消息是从内核转发出来的,于是想,假如到消息从Ring0发Ring3时截住不就可以获取消息了么。
windows 消息从Ring0到Ring3是经过KeUserModeCallback的,处理函数在peb->KernelCallbackTable那里。
QQ是有低级键盘钩子的,所以键盘消息是先发给钩子处理函数的。
所以在USER32!__fnHkINLPKBDLLHOOKSTRUCT 处拦截键盘消息。
这必然是可以看到键盘消息的,只是看到的还有很多乱码。
想到windows还有个NtUserSendInput可以发送键盘消息的,而且键盘消息是经内核发出的,所以也会给fnHkINLPKBDLLHOOKSTRUCT收到。
这就是QQ键盘干扰的来源。
断点发现
0:005> bp USER32!NtUserSendInput ".printf \"Send:%x\",low(poi(poi(esp+8)+4));.echo;g"
0:005> bp USER32!__fnHkINLPKBDLLHOOKSTRUCT ".printf \"KBDLLHook:%x\",low(poi(poi(esp+4)+10));.echo ;g "
0:005> g
Send:37
KBDLLHook:37
Send:36
KBDLLHook:36
Send:37
KBDLLHook:37
KBDLLHook:36
Send:37
KBDLLHook:37
Send:44
KBDLLHook:44
Send:41
KBDLLHook:41
KBDLLHook:44
Send:41
KBDLLHook:41
Send:46
KBDLLHook:46
Send:55
KBDLLHook:55
KBDLLHook:46
Send:55
KBDLLHook:55
Send:52
KBDLLHook:52
Send:51
KBDLLHook:51
KBDLLHook:52

只要记录发送了什么,再在记录后去除发送的,剩下的就是用户的按键了。


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

收藏
免费 7
支持
分享
最新回复 (40)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
强啊,学习一下
2010-10-1 09:11
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
ring0 才行?
2010-10-1 11:11
0
雪    币: 14
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Ring3的啊。
这是处理乱码的。
QQ用NtSendInput发送乱码,低级钩子钩到的是按键还有乱码,只要记录发送的是什么乱码,再在记录后去掉就能记录到键盘按键了。
PS:修改了NtSendInput发送的VK值QQ密码框会不工作的。乱码是以一定算法发出的,然后在低级钩子处验证。
2010-10-1 17:42
0
雪    币: 176
活跃值: (267)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
帅,分析的不错,如果能给出制作键盘记录的方法就更OK了!
2010-10-1 18:55
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
6
这个很帅~~~~
2010-10-1 19:50
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
怎么被河蟹了?
2010-10-1 21:06
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
8
我明白了,谢谢。估计今晚就有人做出工具来了,又一轮夜黑风高
2010-10-1 23:08
0
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
9
真是太帅了。小弟佩服啊。
2010-10-2 12:36
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
10

0:005> bp USER32!NtUserSendInput ".printf \"Send:%x\",low(poi(poi(esp+8)+4));.echo;g"
0:005> bp USER32!__fnHkINLPKBDLLHOOKSTRUCT ".printf \"KBDLLHook:%x\",low(poi(poi(esp+4)+10));.echo ;g "


重要点标记下

Names in USER32, item 2692
Address=77D2F140
Section=.text
Type=Library (Known)
Name=_NtUserSendInput@12



Names in USER32, item 1060
Address=77D58D54
Section=.text
Type=Library
Name=___fnHkINLPKBDLLHOOKSTRUCT@4


2010-10-2 13:28
0
雪    币: 89
活跃值: (185)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
11
不错…………
2010-10-2 13:57
0
雪    币: 362
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习一个!!!
2010-10-2 20:41
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
赶来膜拜......
2010-10-3 02:48
0
雪    币: 121
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
好强大哦 可惜看不懂 只能顶了。。
2010-10-3 10:12
0
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
膜拜一下 QQ又要升级了
2010-10-3 18:44
0
雪    币: 28
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
看来怎么升级都没有用,如果还是用windows的函数来send干扰码的话 -  -
2010-10-9 16:26
0
雪    币: 124
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
强大!!!
支持!!!!
2010-10-9 23:23
0
雪    币: 101
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习学习   谢谢分享
2010-10-10 00:18
0
雪    币: 14
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
他既然用不停hook-unhook来保护键盘钩子,同样可以用不停hook-unhook来保护KernelCallbackTable。不过他既然不用驱动,自然也不会用_fnXX这些没公开的东西去影响稳定性和兼容性。
同时他有很健全的密保系统,完全不怕盗号的。
2010-10-10 12:20
0
雪    币: 306
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
为什么我下载了全部了符号表之后还是下不了断点?
Bp expression 'NtUserSendInput' could not be resolved, adding deferred bp
2010-11-2 16:10
0
雪    币: 177
活跃值: (278)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
哪个版本?以前分析2008的时候记得扣扣不是任何时候都sendinput的,只有密码框有焦点的时候才会sendinput伪造,所以。。。只要HOOK  GetForegroundWindow欺骗他就行了。

还有我记得好像伪造的按键有特征的,好像是dwExtraInfo字段为21时是伪造的。

不知道新版本改过没。
2010-11-2 17:54
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
分析的真好 当时也尝试过HOOK__fnHkINLPKBDLLHOOKSTRUCT 但还是发现有乱码就没再研究下去了
2010-11-2 20:21
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
标记一下,顶
2011-3-21 15:16
0
雪    币: 201
活跃值: (155)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
啊。好不安全啊。
2011-3-21 16:22
0
雪    币: 81
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
25
不错啊不错啊。
2011-9-12 13:49
0
游客
登录 | 注册 方可回帖
返回
//