首页
社区
课程
招聘
[原创]暗度陈仓,实现qq暗中给自己发消息
发表于: 2011-3-6 17:13 37153

[原创]暗度陈仓,实现qq暗中给自己发消息

2011-3-6 17:13
37153

*******************************************************
*标题:【原创】暗度陈仓,实现qq暗中给自己发消息 *
*作者:踏雪流云                                        *
*日期:2011年3月6号                                   *
*声明:本文章的目的仅为技术交流讨论                    *
*******************************************************
此文章,是针对《逆向qqspy,实现qq2010聊天信息获取》文章的深一步研究;可以实现将获取到的聊天信息暗中发给自己,神不知鬼不觉;其实,早在四个多月前,就已经实现了这个方法,但始终觉得此技术具有一定的危险性,怕被不法使用,才迟迟没有发表;但现在我更加觉得,如果不分享此技术,它就会烂在手里,也有点可惜;因此,希望看到此文的朋友,以技术交流为目的,不要窥视他人隐私。
好了,言归正传。
此方法是基于《逆向qqspy,实现qq2010聊天信息获取》的,如果您还没有看过那篇文章,请google之。
首先,依旧是Hook_SaveMsg,获取到对方的qq消息。
然后,是将获得的qq消息,暗中发给自己,这也是本文的关键;我采用的方法是利用AppUtil.dll中的long __cdecl Util::ChatSession::SendAutoReplyMsgToBuddy(unsigned long  dstQQ)函数,一看函数名我们就能猜到这个是用来发送自动回复消息给对方的一个接口,参数很简单,就是对方的qq号码。
好了,有了这个函数,我们如何将自定的消息发给自己呢?看此函数的部分代码:

.text:61223210 ; long __cdecl Util::ChatSession::SendAutoReplyMsgToBuddy(unsigned long)
.text:61223210                 public ?SendAutoReplyMsgToBuddy@ChatSession@Util@@YAJK@Z
.text:61223210 ?SendAutoReplyMsgToBuddy@ChatSession@Util@@YAJK@Z proc near
.text:61223210                                         ; DATA XREF: .rdata:off_612D0D88o
.text:61223210
.text:61223210 var_A4          = dword ptr -0A4h
.text:61223210 var_A0          = dword ptr -0A0h
.text:61223210 var_9C          = dword ptr -9Ch
.text:61223210 var_98          = dword ptr -98h
.text:61223210 var_94          = byte ptr -94h
.text:61223210 var_90          = byte ptr -90h
.text:61223210 var_8C          = dword ptr -8Ch
.text:61223210 var_88          = dword ptr -88h
.text:61223210 var_84          = dword ptr -84h
.text:61223210 msgpack         = dword ptr -80h
.text:61223210 var_7C          = dword ptr -7Ch
.text:61223210 var_78          = dword ptr -78h
.text:61223210 var_74          = dword ptr -74h
.text:61223210 var_70          = dword ptr -70h
.text:61223210 var_6C          = byte ptr -6Ch
.text:61223210 var_64          = dword ptr -64h
.text:61223210 var_60          = dword ptr -60h
.text:61223210 var_58          = dword ptr -58h
.text:61223210 var_54          = dword ptr -54h
.text:61223210 var_10          = dword ptr -10h
.text:61223210 var_C           = dword ptr -0Ch
.text:61223210 var_4           = dword ptr -4
.text:61223210 arg_0           = dword ptr  8
.text:61223210
.text:61223210                 push    ebp
.text:61223211                 mov     ebp, esp
.text:61223213                 push    0FFFFFFFFh
.text:61223215                 push    offset loc_6128C0F9
.text:6122321A                 mov     eax, large fs:0
.text:61223220                 push    eax
.text:61223221                 sub     esp, 98h
.text:61223227                 mov     eax, dword_612DFCA0
.text:6122322C                 xor     eax, ebp
.text:6122322E                 mov     [ebp+var_10], eax
.text:61223231                 push    ebx
.text:61223232                 push    esi
.text:61223233                 push    edi
.text:61223234                 push    eax
.text:61223235                 lea     eax, [ebp+var_C]
.text:61223238                 mov     large fs:0, eax
.text:6122323E                 mov     edi, [ebp+arg_0]
.text:61223241                 push    edi
.text:61223242                 mov     esi, 1
.text:61223247                 call    ?IsQInterLiveUser@QInterLive@Contact@Util@@YAHK@Z ; Util::Contact::QInterLive::IsQInterLiveUser(ulong)
.text:6122324C                 add     esp, 4
.text:6122324F                 test    eax, eax
.text:61223251                 jz      short loc_61223259
.text:61223253                 xor     ebx, ebx
.text:61223255                 xor     esi, esi
.text:61223257                 jmp     short loc_6122326B
.text:61223259 ; ---------------------------------------------------------------------------
.text:61223259
.text:61223259 loc_61223259:                           ; CODE XREF: Util::ChatSession::SendAutoReplyMsgToBuddy(ulong)+41j
.text:61223259                 push    edi
.text:6122325A                 call    ds:?IsInvisible@Contact@Util@@YAHK@Z ; Util::Contact::IsInvisible(ulong)
.text:61223260                 add     esp, 4
.text:61223263                 test    eax, eax
.text:61223265                 jz      short loc_61223269
.text:61223267                 xor     esi, esi
.text:61223269
.text:61223269 loc_61223269:                           ; CODE XREF: Util::ChatSession::SendAutoReplyMsgToBuddy(ulong)+55j
.text:61223269                 xor     ebx, ebx
.text:6122326B
.text:6122326B loc_6122326B:                           ; CODE XREF: Util::ChatSession::SendAutoReplyMsgToBuddy(ulong)+47j
.text:6122326B                 lea     ecx, [ebp+var_94]
.text:61223271                 call    ds:??0CTXStringW@@QAE@XZ ; CTXStringW::CTXStringW(void)
.text:61223277                 cmp     esi, ebx
.text:61223279                 mov     [ebp+var_4], ebx
.text:6122327C                 jz      loc_61223718
.text:61223282                 lea     eax, [ebp+var_94]
.text:61223288                 push    eax
.text:61223289                 call    ?GetAutoRelyContent@Self@Contact@Util@@YAHAAVCTXStringW@@@Z ; Util::Contact::Self::GetAutoRelyContent(CTXStringW &)
.text:6122328E                 add     esp, 4

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (57)
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
2
自己给自己发消息?不懂~看看,支持下!
2011-3-6 17:25
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
3
看懂了,好东西~
2011-3-6 17:28
0
雪    币: 367
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
用于商业行为就不得了了..
2011-3-6 17:39
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
好文成系列了,拜读
2011-3-6 17:41
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
6
占座v5。。。。。
2011-3-6 18:27
0
雪    币: 578
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好神奇呐,拜读了
2011-3-6 18:47
0
雪    币: 207
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
先占座再拜读
2011-3-6 19:31
0
雪    币: 387
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
好文, 顶一个
2011-3-6 19:59
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
很好,顶一个。
2011-3-6 20:23
0
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
牛!~~ 想知道如何干掉qq2010反调试
2011-3-6 20:57
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
沒看明白有啥用。。。
2011-3-6 21:18
0
雪    币: 338
活跃值: (103)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
13
顶一个 好文章
2011-3-6 22:43
0
雪    币: 207
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
LZ把QQ研究得差不多了
2011-3-7 10:29
0
雪    币: 184
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
顶一个 好文章
2011-3-7 10:34
0
雪    币: 207
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
为神马QQ要把这些函数导出来呢?
2011-3-7 10:46
0
雪    币: 30
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
因为QQ要用啊
2011-3-7 11:03
0
雪    币: 433
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
到底是给自己还是给别人暗下发消息?
2011-3-7 14:53
0
雪    币: 440
活跃值: (119)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
19
哎,没说清楚;当然是将对方的聊天信息,暗中发给自己了。。。
2011-3-7 15:36
0
雪    币: 315
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
汗。。。 这个方法牛。。
2011-3-7 15:55
0
雪    币: 335
活跃值: (140)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
用于监视 somebody 的聊天内容很有用。哈哈。不过这和偷窥有什么两样么?
2011-3-7 17:51
0
雪    币: 440
活跃值: (119)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
22
希望不要~~~
2011-3-7 18:26
0
雪    币: 270
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
往好的方面想的话,这个可以做成QQ客服机器人还可以搞成QQ广告群发,哈哈
2011-3-9 15:46
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
试了下. 很邪恶噢!!
2011-3-9 16:50
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
编译了  不 会用
2011-3-10 17:36
0
游客
登录 | 注册 方可回帖
返回
//