首页
社区
课程
招聘
[旧帖] QQ游戏外挂破解分析 0.00雪花
发表于: 2008-2-27 00:55 8301

[旧帖] QQ游戏外挂破解分析 0.00雪花

2008-2-27 00:55
8301
本软件进行了一个简单的加壳,用脱壳工具脱之。
下函数断点
bp MessageBoxA

0040362E      /75 54              jnz short Unpack_.00403684  //改jmp即可跳过“注册成功!”
00403630      |8B8424 8C000000    mov eax,dword ptr ss:[esp+8C]
00403637       51                 push ecx
00403638       83C0 F0            add eax,-10
0040363B       896424 18          mov dword ptr ss:[esp+18],esp
0040363F       8BFC               mov edi,esp
00403641       50                 push eax
00403642       E8 69DDFFFF        call Unpack_.004013B0
00403647       83C0 10            add eax,10
0040364A       83C4 04            add esp,4
0040364D       8907               mov dword ptr ds:[edi],eax
0040364F       E8 ECECFFFF        call Unpack_.00402340  //F7跟进去!开始算法!
00403654       83C4 04            add esp,4

算法主要部分******************************************************************************
004024B6    0FAFC0          imul eax,eax                         ; 取位机器码*取位机器码
004024B9    8BCE            mov ecx,esi                          ; 上次取的机器码给ESI
004024BB    0FAFCE          imul ecx,esi                         ; 上取机器*上取机器码
004024BE    03C1            add eax,ecx                          ; 结果相加
004024C0    99              cdq                                  ; EDX清零
004024C1    B9 1A000000     mov ecx,1A
004024C6    F7F9            idiv ecx                             ; EAX除以ECX,商放在EAX,余数在EDX
004024C8    8B4424 34       mov eax,dword ptr ss:[esp+34]
004024CC    8B40 F4         mov eax,dword ptr ds:[eax-C]
004024CF    8D48 FF         lea ecx,dword ptr ds:[eax-1]
004024D2    83C4 20         add esp,20
004024D5    83C2 41         add edx,41                           ; 余数+41
004024D8    3BE9            cmp ebp,ecx                          ; 注册码是否是第11位
004024DA    8ADA            mov bl,dl
004024DC    75 12           jnz short Unpack.004024F0
004024DE    0FBECA          movsx ecx,dl
004024E1    41              inc ecx                              ; 结果+1
004024E2    83F9 5A         cmp ecx,5A                           ; 比较否则大于Z
004024E5    7F 09           jg short Unpack.004024F0
004024E7    83F9 41         cmp ecx,41                           ; 是否小于A
004024EA    0F8D 96000000   jge Unpack.00402586                  
004024F0    8D48 FE         lea ecx,dword ptr ds:[eax-2]
004024F3    3BE9            cmp ebp,ecx                         ; 是否是第10位
004024F5    75 15           jnz short Unpack.0040250C
004024F7    0FBECA          movsx ecx,dl
004024FA    83C1 09         add ecx,9            
004024FD    83F9 5A         cmp ecx,5A                           ; 比较否则大于Z
00402500    7F 0A           jg short Unpack.0040250C
00402502    83F9 41         cmp ecx,41                           ; 是否小于A
00402505    7C 05           jl short Unpack.0040250C
00402507    80C2 09         add dl,9                             ; DL+9
0040250A    EB 7C           jmp short Unpack.00402588
0040250C    8D48 FD         lea ecx,dword ptr ds:[eax-3]
0040250F    3BE9            cmp ebp,ecx                          ; 是否是第9位
00402511    75 15           jnz short Unpack.00402528
00402513    0FBECA          movsx ecx,dl
00402516    83C1 08         add ecx,8        
00402519    83F9 5A         cmp ecx,5A                           ; 比较否则大于Z
0040251C    7F 0A           jg short Unpack.00402528
0040251E    83F9 41         cmp ecx,41                           ; 是否小于A
00402521    7C 05           jl short Unpack.00402528
00402523    80C2 08         add dl,8                             ;DL+8
00402526    EB 60           jmp short Unpack.00402588
00402528    8D48 FC         lea ecx,dword ptr ds:[eax-4]
0040252B    3BE9            cmp ebp,ecx                          ; 算注册码到8位时
0040252D    75 15           jnz short Unpack.00402544
0040252F    0FBECA          movsx ecx,dl
00402532    83C1 05         add ecx,5
00402535    83F9 5A         cmp ecx,5A                          ; 比较否则大于Z
00402538    7F 0A           jg short Unpack.00402544
0040253A    83F9 41         cmp ecx,41                          ; 是否小于A
0040253D    7C 05           jl short Unpack.00402544
0040253F    80C2 05         add dl,5                             ; DL+5
00402542    EB 44           jmp short Unpack.00402588
00402544    8D48 FB         lea ecx,dword ptr ds:[eax-5]
00402547    3BE9            cmp ebp,ecx                          ; 算注册码到7位时
00402549    75 0A           jnz short Unpack.00402555
0040254B    80FA 5A         cmp dl,5A                            ; 比较否则大于Z
0040254E    7F 05           jg short Unpack.00402555
00402550    80FA 41         cmp dl,41                            ; 是否小于A
00402553    7D 35           jge short Unpack.0040258A
00402555    8D48 FA         lea ecx,dword ptr ds:[eax-6]
00402558    3BE9            cmp ebp,ecx                          ; 算注册码到第6位时
0040255A    75 15           jnz short Unpack.00402571
0040255C    0FBECA          movsx ecx,dl
0040255F    83C1 02         add ecx,2
00402562    83F9 5A         cmp ecx,5A                          ; 比较否则大于Z
00402565    7F 0A           jg short Unpack.00402571
00402567    83F9 41         cmp ecx,41                          ; 是否小于A
0040256A    7C 05           jl short Unpack.00402571
0040256C    80C2 02         add dl,2                             ; DL+2
0040256F    EB 17           jmp short Unpack.00402588
00402571    83C0 F9         add eax,-7
00402574    3BE8            cmp ebp,eax
00402576    75 12           jnz short Unpack.0040258A            ; 算法注册码第5位时
00402578    0FBEC2          movsx eax,dl                         ; DL给EAX
0040257B    40              inc eax                              ; EAX+1
0040257C    83F8 5A         cmp eax,5A                           ; 比较否则大于Z
0040257F    7F 09           jg short Unpack.0040258A             ; 过Z就跳
00402581    83F8 41         cmp eax,41                           ; 看是不是大写A
00402584    7C 04           jl short Unpack.0040258A             ; 是否小于A
00402586    FEC2            inc dl                               ; DL+1
00402588    8ADA            mov bl,dl

**********
每位注册码=(对应位的机器码^2+下面的那位机器码^2)%0x1A+0x41
另外!!
如果机器码是11位的话,以下的都要额外加个数
第5位+1  //6
第6位+2  //5
第8位+5  // 3
第9位+8  //2
第10位+9 //1
第11位+1  //0

如果机器码是10位的话
第4位+1  //6
第5位+2  //5
第7位+5  //3
第8位+8  //2
第9位+9   //1
第10位+1  //0

最后把ASII转换成大写字母!

35272415764
CFNNFLKPVNC

2601241610
IUZOGJSVZV
********************************************************************************************
004025FF       8B7424 38          mov esi,dword ptr ss:[esp+38] //EDI开始出现注册码
00402603       8BC7               mov eax,edi
00402605       8A10               mov dl,byte ptr ds:[eax]  //EAX开始出现注册码
00402700       FF52 04            call dword ptr ds:[edx+4]  //EDI的注册码一直都在
新手的破解分析 请大家见谅

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
忘了 传附件  再此传上
上传的附件:
2008-2-27 01:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
  破解此外挂 主要是对一个算法的学习 和了解
2008-2-27 04:10
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
4
真是帅呆了
2008-2-27 14:20
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
好像,论坛上分析算法的帖子一般的都加精华哈~
愿你这个也能加上精华~~
我也加油,一定要分析一个很复杂的算法!
可是我不懂汇编哦~
2008-2-27 15:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
某个网站的VIP教程
2008-2-27 21:48
0
雪    币: 2256
活跃值: (941)
能力值: (RANK:2210 )
在线值:
发帖
回帖
粉丝
7
分析的不错
2008-2-28 09:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
很厉害了...佩服下
2008-3-1 00:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
学习了,真好 ,好好分析分析
2008-3-7 02:28
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
保存了学习一下,好好学习,天天向上
2008-3-19 18:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有同感。好像是黑鹰!
2008-3-19 18:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个算法分析的好啊!
2008-3-19 19:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
真的不错,可惜我水平还不够。。楼主,我这有个挂,也是要机器码的,你是否能破解。。如有空+我QQ:51448543,我发给你研究。
2008-3-19 22:00
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错,学习一下呵
2008-4-22 16:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我也正在学习中,支持一下
2008-6-15 03:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
很受鼓舞啊;
我这里也有个QQ游戏的挂;有兴趣试验下吗;
主要是通过网络进行帐户、口令登陆;然后是取机器码进行验证比较;
如有兴趣,找我联系,QQ:940727440
2008-6-16 16:00
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
很不错,学习了
2008-6-17 10:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习下
2008-6-17 11:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
呵呵。收藏学习了。
2008-6-17 14:51
0
游客
登录 | 注册 方可回帖
返回
//