免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > qq相关 > qqspy逆向实现 QQ 聊天监控(2)

qqspy逆向实现 QQ 聊天监控(2)

时间:2011-11-19 11:02来源:未知 整理:寂涯网络 点击:


使是不把 QQ 闪烁窗口按出来,也是可以的,效果如图 2所示:

  另外就是看雪上的“踏雪流云”也逆向过QQSpy,还提到过一种自动回复聊天的办法,
大家可以在看雪上面去找。自动回复聊天的原理就是自己调用AppUnit下面一个叫SendMsg
的函数(这个函数只是需要一个参数——QQ号),然后把自动回复数据的函数——
SendAutoReplyMsgToBuddy进行挂钩,修改里面数据。不过SendAutoReplyMsgToBuddy这个
函数好像现在位置已经变了,不再是AppUnit中的函数了(QQ2011改到AFUnit里面了)。
  有关 QQ 自动发消息这个应用也很多,比如QQ 尾巴就是其中之一,不过大家有兴趣可以
自己研究。言归正题,就是前面介绍的这个函数是专门存个人聊天的,而群聊天以及讨论组
聊天不在这个函数里面,而是另外一个由KernelUnit模块导出的 SaveMsg。其代码如下所
示:

BOOL __cdecl NewSaveMsg_2(  wchar_t *group, 
wchar_t *un_1, 
wchar_t *username, 
wchar_t *un_1_, 
int num_1, 
int num_2, 
struct ITXMsgPack * TXMsgPack, 
struct ITXData* TXData )
{
//调试打印输出,时间

time_t Time;
 struct tm *local;
 WCHAR wszStringTime[20] = {0};
 Time = (time_t)TrueGetMsgTime(TXMsgPack);
  local = localtime(&Time);
 swprintf(wszStringTime,L"%0.2d:%0.2d:%0.2d",
local->tm_hour,local->tm_min,local->tm_sec);
 //
 WCHAR wszStringBuffer[2*MAX_PATH] = {0};
 CString strBuffer;
 LPWSTR *lpBuffer =(LPWSTR *)
TrueGetMsgAbstract(strBuffer.GetBufferSetLength(4096), TXMsgPack);
 CString strGroup(group); 
 LPWSTR lpName1 = NULL;
 //  TXStr Str;
 // TrueGetGroupMemLongNickname(num_1,num_2,Str);
 // OutputDebugStringW(Str.str);
 if (strGroup.CompareNoCase("group") == 0)
 {   if (TrueGetPublicName)
  {
   TrueGetGroupName(&lpName1, num_1);
  }
 
  swprintf(wszStringBuffer,L"[%ws] %ws(%d) %ws",lpName1,username,num_2,ws
zStringTime);
  OutputDebugStringW(wszStringBuffer);
  OutputDebugStringW(*lpBuffer);
 }
 else if (strGroup.CompareNoCase("discuss") == 0)
 {
  if (TrueGetDiscussName)
  {
    TrueGetDiscussName(&lpName1, num_1);
  }
  swprintf(wszStringBuffer,L"[%ws] %ws(%d) %ws",lpName1,username,num_2,ws
zStringTime);
  OutputDebugStringW(wszStringBuffer);

  OutputDebugStringW(*lpBuffer);
 }
  return OldSaveMsg_2(group, un_1, username, un_1_, num_1, num_2, TXMsgPack,
TXData);
}

  同上我说明下里面用到的几个函数的功能:
(1)  函数GetGroupName是获得群名称的函数。
(2)  同上函数 GetDiscussName就是获得讨论组名称的函数。
(3)  另外,原版没有的,经过测试一个叫GetGroupMemLongNickname可以获得群中ID (好
像是非好友)的签名档。

最后说明下,我手里这版的QQSpy 对于表情的支持不理想,特别是默认表情。而第三方
表情,即是“图片”,可以通过拦截CreateFileW和MoveFileExW 获得路径,但是因为时
间有限,我没有具体深入了。另外就是这个方法应该是对2009 以上的有效果,但是我测试
的是 2011(也是通过的),具体情况大家还需要自己结合IDA测试。而对于QQ2008,本来
QQSpy有另外一套函数可以获得其聊天记录的,但是我没有逆了,第一是因为用得少,第二
是至少用读窗口的办法可以获得。

本页地址 http://www.jybase.net/qqxiangguan/20111119633.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(2)
100%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com