黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 软件破解 >> 正文
·完美空间提供500M免费AS04-10·企业安全之YY内网准入以04-09
·企业安全之意识与策略04-09·剑走偏锋:IIS漏洞利用04-09
·我来免费网提供100M免费04-09·1122mb.com提供20G超大免04-08
·映像劫持与反劫持技术04-07·让所有"暴力删除工具"无04-07
·入侵88red系统的详细过程04-07·Sql Injection脚本注入终04-07
·vbs+delphi 反弹后门生成04-07·飞讯网提供100MB免费PHP04-07
·突破SQL注入攻击时输入框04-04·结合内核和病毒技术的最04-04
·Real Player rmoc3260.d04-04·亿万网络今月最后为您提04-04
·php+mysql 5 sql inject04-03·Real Player rmoc3260.d04-03
·oblog文件下载漏洞04-03·免费啦提供1G-2G免费全能04-03
·完全解析网页后门和挂马04-02·一句话开3389(只测试过04-02
·萧萧免费空间网提供100M04-02·谷道免费空间网提供1G免04-01
·从本地入手解决双线路由03-31·sablog 1.6 多个跨站漏洞03-31
·富文本编辑器的跨站脚本03-31·Cookie注入是怎样产生的03-31
[推荐]QQ聊天记录文件解密方式
      ★★★★

QQ聊天记录文件解密方式

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-7-21 8:36:47
本文纯属虚构,如有雷同纯属巧合。
  
    昨天半夜被人拉起来弄了个QQ聊天记录查看器,可以查看本地QQ聊天纪录,这个东西不是修改QQ的本地登陆,而是直接解析本地聊天纪录文件,以前也见过,感觉大哥比较有含量。
  
    今天看了一下,主要看一下QQ本地聊天纪录文件的格式。当然本文主要说数据解密方法,真正的文件解析还比较麻烦。
  
    这里分析的QQ聊天记录读取器5.1,为了不让更多的人悲伤所以大家也别那这个软件破来破去了。我也不会破,我很单纯的。谁要是愿意继续分析建议直接分析QQ自带的聊天纪录察看器,有牛人给修改bug,分析起来应该也爽一些。


假设我们的MsgEx.db内有下面数据:

data[16] = 0x61 12 75 20 7A 8B 74 C6 05 9D 77 65 98 E3 73 B1 ; a.u z媡?漺e樸s

共4个DWORD,其中后面2个DWORD作为密钥,前面2个DWORD是密文,用密钥计算出来一个key,该key与前面的2个DWORD异或便得到明文。


下面看看怎么处理上面的data[16]数组。

1.初次处理

  输入:
  05 9D 77 65 98 E3 73 B1
  
  处理:
  00D43E50           8A09          mov cl,byte ptr ds:[ecx]
  00D43E52           6A 08         push 8
  00D43E54           3008          xor byte ptr ds:[eax],cl
  00D43E56           42            inc edx
  00D43E57           5B            pop ebx
  00D43E58           3BD3          cmp edx,ebx
  00D43E5A         ^ 7C DF         jl short 00D43E3B
  
  得到结果:
  45 9C A6 1C 5C 43 8B 3A

2.计算密钥

00D43816           6A 10         push 10
00D43818           B8 909B77E3   mov eax,E3779B90      ;这里初始化一个密钥常量
00D4381D           59            pop ecx              ; ecx = 0x10 ,16轮运算

下面是循环,初始时候:
  ebx = 0x459CA61C
  edi = 0x5C438B3A
就是上面的那个结果,也就是输入数据

密钥key,共32位,4个DWORD,也就是循环中的[ebp-x]:
0012F248  C7 B3 FE C2 A5 6D C6 A1 CE E6 22 24 DF 2F BE 2D

00D4381E           8BD3          mov edx,ebx          
00D43820           8BF3          mov esi,ebx
00D43822           C1EA 05       shr edx,5
00D43825           0355 FC       add edx,dword ptr ss:[ebp-4]
00D43828           C1E6 04       shl esi,4
00D4382B           0375 F8       add esi,dword ptr ss:[ebp-8]
00D4382E           33D6          xor edx,esi
00D43830           8D3418        lea esi,dword ptr ds:[eax+ebx]
00D43833           33D6          xor edx,esi
00D43835           2BFA          sub edi,edx
00D43837           8BD7          mov edx,edi
00D43839           8BF7          mov esi,edi
00D4383B           C1EA 05       shr edx,5
00D4383E           0355 F4       add edx,dword ptr ss:[ebp-C]
00D43841           C1E6 04       shl esi,4
00D43844           0375 F0       add esi,dword ptr ss:[ebp-10]
00D43847           33D6          xor edx,esi
00D43849           8D3438        lea esi,dword ptr ds:[eax+edi]
00D4384C           33D6          xor edx,esi
00D4384E           05 4786C861   add eax,61C88647
00D43853           2BDA          sub ebx,edx
00D43855           49            dec ecx
00D43856         ^ 75 C6         jnz short 00D4381E

得到输出:
addr0[] = 0x0F 7B 55 00 77 81 54 E6

这个16轮运算很简单,可以google -> 本论坛 -> blowfish 斑竹的某回贴就弄到代码了。
 
 

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:sygbox 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886