首页
社区
课程
招聘
[原创]QQ2009聊天记录查看器 7.3算法分析与实现
发表于: 2009-8-23 13:02 7829

[原创]QQ2009聊天记录查看器 7.3算法分析与实现

2009-8-23 13:02
7829

【文章标题】: QQ2009聊天记录查看器 7.3算法分析与算法实现
【文章作者】: renwoxiao
【作者邮箱】: [email]renwoxiao@126.com[/email]
【作者主页】: http://hi.baidu.com/renwoxiao
【作者QQ号】: 121663230
【软件名称】: QQ2009聊天记录查看器 7.3
【软件大小】: 276KB
【下载地址】: http://www.newhua.com/soft/90218.htm
【加壳方式】: 无
【保护方式】: 注册码
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OD,PEID
【操作平台】: Winxp/vista/win7/2000/2003
【软件介绍】: 使用方法,直接运行,然后选者要读取的QQ号码,然后
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  算法比较简单,大侠飘过
  
  1。用peid查壳,为Microsoft Visual C++ 6.0,无壳就少一道工序了,轻松一点
  
  2.算法分析
  根据ximo大侠的各种语言按纽事件的找法(非MFC)
  找到按钮事件,来到关键的地方
  

 00402C1B  |.  83F8 0C       cmp     eax, 0C
 00402C1E  |.  74 18         je      short 00402C38
00402C73  |.  8B4C24 18     mov     ecx, dword ptr [esp+18]  //取出第一位
00402C77  |.  BF 0A000000   mov     edi, 0A
00402C7C  |.  0FBEF1        movsx   esi, cl
00402C7F  |.  8BC6          mov     eax, esi
00402C81  |.  0C 33         or      al, 33                   //第一位与33H做或运算
00402C83  |.  99            cdq
00402C84  |.  F7FF          idiv    edi                      //异或的结果对0AH求余
00402C86  |.  0FBE6C24 1B   movsx   ebp, byte ptr [esp+1B]
00402C8B  |.  83C2 30       add     edx, 30                  //求余的结果加30h
00402C8E  |.  3BEA          cmp     ebp, edx                 //判断第四位是否与上面的结果相等,不等就跳向失败
00402C90  |.  74 18         je      short 00402CAA
  
00402CAE  |.  0FBEFD        movsx   edi, ch           
00402CB1  |.  0FBECB        movsx   ecx, bl 
00402CB4  |.  8BC7          mov     eax, edi                   //把注册码的第二位给eax          
00402CB6  |.  894C24 10     mov     dword ptr [esp+10], ecx 
00402CBA  |.  0C 33         or      al, 33                     //第二位与33H做或运算
00402CBC  |.  B9 1A000000   mov     ecx, 1A
00402CC1  |.  99            cdq
00402CC2  |.  F7F9          idiv    ecx                        //对 1AH求余
00402CC4  |.  8B4424 10     mov     eax, dword ptr [esp+10]
00402CC8  |.  83C2 41       add     edx, 41                   //把求余的结果加上41H
00402CCB  |.  3BC2          cmp     eax, edx                  //判断第五位是否等于上面的结果,不等就跳向失败
00402CCD  |.  74 18         je      short 00402CE7
  
00402CE7  |> \0FBE4C24 1A   movsx   ecx, byte ptr [esp+1A]   //取出注册码的第三位
00402CEC  |.  0FBED7        movsx   edx, bh
00402CEF  |.  8BC1          mov     eax, ecx                  //把注册码的第三位给eax
00402CF1  |.  895424 14     mov     dword ptr [esp+14], edx
00402CF5  |.  0C 33         or      al, 33                    //第三位和33H做异或运算
00402CF7  |.  BB 1A000000   mov     ebx, 1A
00402CFC  |.  99            cdq
00402CFD  |.  F7FB          idiv    ebx                      //异或的结果对1AH求余
00402CFF  |.  8B5C24 14     mov     ebx, dword ptr [esp+14]
00402D03  |.  83C2 61       add     edx, 61                  //求余的结果加61H
00402D06  |.  3BDA          cmp     ebx, edx                 //判断第六位是佛等于上面的运算结果,不等就跳向失败
00402D08  |. /74 18         je      short 00402D22
  
00402D22  |> \8BC6          mov     eax, esi             //注册码的第一位给eax
00402D24  |.  BE 0A000000   mov     esi, 0A
00402D29  |.  83E0 11       and     eax, 11              //第一位和11H做与运算
00402D2C  |.  99            cdq
00402D2D  |.  F7FE          idiv    esi                  //与得结果对0A求余
00402D2F  |.  0FBE4424 1E   movsx   eax, byte ptr [esp+1E]
00402D34  |.  83C2 30       add     edx, 30             //求余的结果加30H
00402D37  |.  3BC2          cmp     eax, edx            //判断第七位是否等于上面的结果,不等就跳向失败
00402D39  |.  74 18         je      short 00402D53
 

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

收藏
免费 7
支持
分享
最新回复 (3)
雪    币: 23
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
聊天记录也用密码加密就好了。就是用登陆时那个密码。
2009-8-24 13:38
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上说的很对
2009-8-24 21:24
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2楼,要是用户改密码了呢
2009-8-26 23:18
0
游客
登录 | 注册 方可回帖
返回
//