首页
论坛
课程
招聘
[原创][原创]QQ,挂你没商量(2)
2010-2-23 20:23 9513

[原创][原创]QQ,挂你没商量(2)

2010-2-23 20:23
9513
QQ,挂你没商量(2)

声明:

      本文不是教你如何盗QQ的,取这个题目无非是为了吸引人们的眼球,大家都来看看罢了(QQ的影响力很高,不是吗?)。

      上次挂的是虚拟设备,这次真的要挂KeyBoard了。本文假设你看了《QQ,挂你没商量》。

      本文纯属本人主观臆断,如有误导还请见谅。当我笔记了。

 

      

      这里假设你已经知道设备挂接是怎么一回事了,无非是驱动的分层设计。代码还是NT式驱动,还有一个作即插即用的WDM就不说了。要学会,关键是理解IRP。
  
      我们先猜想一下键盘是如何工作的(为什么是“猜想”?嗯,我老是在臆断,因为我什么都不知道)。你按下键盘,就会产生一个硬件中断,这个中断例程会通过各种手段向键盘驱动发送IRP(我们的message),键盘驱动处理IRP并结束IRP。应用程序得到按键。

那我们又要拦截IRP了。这时有人说了,“这个我会,因为我看了《QQ,挂你没商量》,就是下图那个样子”

“可是......可是那个IRP我们要怎么处理啊?KeyBoardDriver还没有加工IRP,我们怎么用啊?”。嗯,是啊,我想说IRP被结束后是要反回给I/O管理器的,这样应用程序才能得到处理结果(就是那个IRP->AssociatedIrp.SystemBuffer)。我们只要得到KeyBoardDevice处理后的IRP->AssociatedIrp.SystemBuffer就好啦。这时又有人说了“啊?可我们的HookDevice在KeyBoardDevice的上面。HookDevice先得到IRP,我们又怎么得到KeyBoardDriver处理的IRP呢?”。靠!你能问这种问题就说明你有了解IRP了,这又说明你控制IRP的能力将有质的飞越。好吧,我只能告诉你“该看看完成例程了”。我不想重复教科书上的东西(因为我看教科书从没考过高分,~~~~(>_<)~~~~ ),大家自己找一下资料(关于驱动分层设计,完成例程的),我略说一下自己的知道的得了。
 
    IRP完成后,一层层堆栈向上弹出,如果遇到IO_STACK_LOCATION的CompletionRoutine非空,就调用这个函数。

      好吧,我们说我们自己的程序,我们要捕捉的IRP是IRP_MJ_READ,因为我们敲击键盘时,键盘驱动会收到这个IRP。我们要在每个IRP_MJ_READ的IRP设置一个完成例程,这样每一次击键动作都会在IRP回滚时执行我们完成例程。那完成例程做些什么呢?这里我只打印了扫描码,别的没做,有心人就做自己想做的事吧。

http://g.zhubajie.com/urllink.php?id=8326585vig3zaga3mz5hcqq

【看雪培训】《Adroid高级研修班》2022年夏季班招生中!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (21)
雪    币: 459
活跃值: 活跃值 (84)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
qihoocom 活跃值 9 2010-2-23 20:26
2
0
QQ那个保护,球技术含量都没有,居然还有人分析,居然还发了两个帖子,还画了这多图,我真是震惊了
雪    币: 203
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
丽史成爱 活跃值 2010-2-23 20:42
3
0
2楼你是大大级别 我是连门口都还没进 还是感谢楼主的共享
雪    币: 136
活跃值: 活跃值 (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wkaka 活跃值 2010-2-23 20:54
4
0
LZ 写得不错.呵呵.幽默又有趣.支持一下
雪    币: 217
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jwtck 活跃值 2010-2-24 14:21
5
0
如果能出一个ring3下的方法那应该有点东西可以看看
雪    币: 217
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jwtck 活跃值 2010-2-24 14:22
6
0
期待楼主发觉ring3下的方式,qq保护现在貌似不用驱动了
雪    币: 793
活跃值: 活跃值 (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
zyr零零发 活跃值 1 2010-2-24 14:29
7
0
研究QQ的人越来越多了,感谢分享!
雪    币: 2081
活跃值: 活跃值 (183)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 活跃值 1 2010-2-24 18:24
8
0
都驱动了。。以前有人发过R3 的HOOK 转会员区去了
雪    币: 397
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
fenchang 活跃值 2 2010-2-24 21:50
9
0
这个帖子的题目可以改成《阿里旺旺,挂你没商量》、《MSN,挂你没商量》、《gmail,挂你没商量》之类的
雪    币: 59
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
圣新冰心 活跃值 2010-2-24 22:48
10
0
r3 都搞得定,不需模拟窗口,多吃一举搞驱动,很多人都写过这种东西
雪    币: 59
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
圣新冰心 活跃值 2010-2-24 22:50
11
0
真佩服 mj的性格,
雪    币: 4399
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izayoi 活跃值 2010-2-26 09:30
12
0
有些人的人格度量在现实世界中和网络上是有很大差距甚至是截然相反的。
雪    币: 411
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kmlch 活跃值 2010-2-26 10:45
13
0
不错。楼主实在,有分析,有代码。
雪    币: 236
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
studykkjs 活跃值 2010-2-26 12:27
14
0
。。。。。代码弄的太不方便了而且缺个DEMO。。。。。呵呵。明天或者后天我也发个吧。。(如果下午有空的话)。。不过还是严重支持楼主。
雪    币: 57
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wkxq 活跃值 2010-2-26 13:01
15
0
不太明白,谁叫咱是菜鸟一个呢
雪    币: 217
活跃值: 活跃值 (243)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dayang 活跃值 2010-2-27 00:12
16
0
MJ也来发个更独特的吧!
雪    币: 228
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
百年孤独 活跃值 2010-2-27 16:58
17
0
纵横于牛A和牛C之间的人物,俺农民一般都是比较震惊滴。。。
雪    币: 203
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
clide2000 活跃值 7 2010-2-27 17:04
18
0
支持楼主的分享
雪    币: 33
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zerovirs 活跃值 2010-3-1 19:46
19
0
支持楼主 必须回帖
雪    币: 7
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
艾米 活跃值 2010-3-17 17:35
20
0
2楼!兄弟们对你顶礼膜拜!
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
兵火 活跃值 2010-3-17 23:31
21
0
qq这个软件也有人研究呀,哈哈
雪    币: 537
活跃值: 活跃值 (37)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
Fypher 活跃值 4 2010-3-18 10:53
22
0
建议,以后搞QQ,都发ring3的方法,稍微有点挑战性。
游客
登录 | 注册 方可回帖
返回