中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 看雪学院专区 > 功能限制
oicq build 0425 的不完全破解
作者:小楼 时间:2005-09-11 21:40 出处:www.pediy.com 责编:bighearted
              摘要:oicq build 0425 的不完全破解
oicq build 0425 的不完全破解

        申明:本文单纯从程序角度谈了oicq build 0425 的破解问题。欢
              迎阅读、指教。但本人对由使用本文进行的一切活动不负任
              何责任。


    如果你可以得到某人的oicq谈话记录文件,而又对他与其好友的谈话记录感兴趣,你会如何呢?用oicq谈话阅读器?可惜它不支持0220以后的版本;再说其作者也会叫你用“穷举法”来得到密码,如果设置的密码在9位以上,用“穷举法”的时间以日、月计,你就别想了。
    其实我们可以毫不费力的进入观看。
    首先将谈话文件夹(如7145021)放入oicq安装目录下,再在oicq\dat目录下用ultraedit打开oicq2000.cfg,在 00000009h处记录了所使用帐号的个数,后面即为帐号,只要按照“ 07 00 00 00 帐号的ascii码”形式(如 07 00 00 00 31 31 32 35 34 31 34) 加入即可。若帐号小于7位,还需用 20 补足位数(如 07 00 00 00 31 31 32 35 34 31 20)。
    这样你运行oicq build 0425 后,要看的帐号就出现了,选它,随便填个密码。用trw bpx hmemcpy设断后,按下“登录”,程序为trw阻断。
bd    中断断点
f12  按44下,改
f10  走,
直到
:004370E7 E808A6FFFF              call 004316F4
:004370EC 3BC3                    cmp eax, ebx  <-- ebx恒为0,
                                                  eax可为0或1
:004370EE 0F858F010000            jne 00437283  <-- 不跳就失败
:004370F4 A130D34E00              mov eax, dword ptr [004ED330]
:004370F9 8945E4                  mov dword ptr [ebp-1C], eax
:004370FC 8D45E4                  lea eax, dword ptr [ebp-1C]

* Possible Reference to String Resource ID=33357: "揺?
!焮U勂
"
                                  |
:004370FF 684D820000              push 0000824D
:00437104 50                      push eax
:00437105 C645FC04                mov [ebp-04], 04
:00437109 E8B707FFFF              call 004278C5
:0043710E 59                      pop ecx
:0043710F 59                      pop ecx
:00437110 53                      push ebx
:00437111 6804010000              push 00000104
:00437116 FF75E4                  push [ebp-1C]
:00437119 E830650500              call 0048D64E  <--密码错误画面
所以将    004370EE 0F858F010000            jne 00437283
改为      004370EE 0F848F010000            je  00437283
后,你就可以进入这一帐号了。

    如果还被设置了本地密码,你就先只能随便填个密码喽。用bpx hmemxpy设断后,f12要按56下,直到你来到
:00432E5D 8D4DF0                  lea ecx, dword ptr [ebp-10]
:00432E60 7525                    jne 00432E87  <-- 不跳就失败,所以要让它跳
:00432E62 E864350500              call 004863CB
:00432E67 E954FFFFFF              jmp 00432DC0
这样你就可以进入他的帐号,看看它的聊天记录,他的好友名单......

    所以我要说,腾讯公司是个不负责任的公司。它应该将输入的密码换算后,作为密钥来解开被加密的谈话记录,而不是仅将其作直接比较。

    关于密码的破解,实在让我感到烦琐,所以就没有去深追。有兴趣的朋友可以参考如下:
1、:0046E987 F3      repz 
  :0046E988 A7      cmpsd  <--edi放置了经变换后的输入密码,esi放置了加密后正确密码值。共比较16位,两者相等表示密码正确。
  :0046E989 7427    je 0046E9B2

2、整个密码的最重要的变形、换算在
:00442B40 030E    add ecx, dword ptr [esi]
.....
:0044343B C3      ret  <--很有规律,但也太烦

3、由此得到的数字又经
:004434D5 E821F6FFFF              call 00442AFB  <--f8进入,即为第3步
:004434DA 8B44241C                mov eax, dword ptr [esp+1C]
:004434DE 8B0E                    mov ecx, dword ptr [esi]
:004434E0 83C40C                  add esp, 0000000C
:004434E3 8BD1                    mov edx, ecx
......
:00443556 C3                      ret
变换,得到第2步中的edi值。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有