首页
社区
课程
招聘
[原创]连连连4-爆链版注册算法简单概要
发表于: 2005-8-12 20:59 4665

[原创]连连连4-爆链版注册算法简单概要

2005-8-12 20:59
4665
【破文作者】Winter

【作者邮箱】spsgeyro@gmail.com

【所属组织】[CZG][D.4s][BCG]

【组织主页】http://www.5icrack.com

【个人主页】http://winternight.blogchina.com/

【使用工具】OD(DIY版),PEiD,Imprec

【操作系统】Windows 2003

--------------------------------------------------------------------------------

【软件名称】连连连4-爆链版      

【下载地址】http://fictionking.cn/fiction/download.htm

【破解难度】easy

【保护方式】MD5

【软件语言】Borland C++ 1999

【软件简介】《连连连4》是国内最好玩的“连连看”类游戏,《连连连4-爆链版》在保留原先的隐藏物

品特性外新增“爆链”技能!在1秒左右时间内消去两对牌就能增加1点“爆链”技能值,当右上角的

“爆链”技能蓄能条满后,点击即可使用“爆链”技能,自动为您消去20对牌。

【破解声明】仅仅学习,失误之处请大侠们赐教

【破解目的】学习算法

--------------------------------------------------------------------------------

【过程】

加入bcg后,感到自己实在是海边那被小男孩捡的一个贝壳而已=.=,于是开始慢慢学习,没想到上手是个软柿子,开心~

装完软件,用peid查壳,语言是Borland C++ 1999,再看一下加密算法:MD5,试试看。

OD载入程序,查找一下字符串:
Ultra String Reference,项目 15
Address=00406B35
Disassembly=MOV EDX,StartGam.00482279
Text String=无效的注册码!

这个是好东西,双击过去:
00406B29   |> \A1 D4BC4800  MOV EAX,DWORD PTR DS:[48BCD4]       //这里可以看到是Jump from 00406A07
00406B2E   |.  6A 00        PUSH 0
00406B30   |.  B9 88224800  MOV ECX,StartGam.00482288
00406B35   |.  BA 79224800  MOV EDX,StartGam.00482279

然后回溯,在这里下个断点:
0040688C   /.  55           PUSH EBP
0040688D   |.  8BEC         MOV EBP,ESP
0040688F   |.  81C4 40FEFFF>ADD ESP,-1C0
00406895   |.  53           PUSH EBX
00406896   |.  56           PUSH ESI

输入用户名密码后按注册,断下,慢慢跟:
004068FF   |.  52           PUSH EDX
00406900   |.  BA 44224800  MOV EDX,StartGam.00482244                       ;  //跟到这里,记下这个字符串ASCII "lnk4lnk4lnk4"
00406905   |.  8D45 98      LEA EAX,DWORD PTR SS:[EBP-68]
00406908   |.  E8 5B980700  CALL StartGam.00480168

0040693A   |.  E8 9D980700  CALL StartGam.004801DC
0040693F   |.  FF4D 84      DEC DWORD PTR SS:[EBP-7C]
00406942   |.  8D45 98      LEA EAX,DWORD PTR SS:[EBP-68]
00406945   |.  BA 02000000  MOV EDX,2                           //来到这里,注意看堆栈,上面这些程序的意思是把"lnk4lnk4lnk4"加在用户名后面作后缀,得到字符串a

0040696C   |.  8B45 A0      MOV EAX,DWORD PTR SS:[EBP-60]                     //字符串a进入eax
0040696F   |.  8B50 FC      MOV EDX,DWORD PTR DS:[EAX-4]
00406972   |.  EB 02        JMP SHORT StartGam.00406976
00406974   |>  33D2         XOR EDX,EDX
00406976   |>  52           PUSH EDX

0040697B   |. /74 05        JE SHORT StartGam.00406982                        //接下来进行字符串初始化操作
0040697D   |. |8B45 A0      MOV EAX,DWORD PTR SS:[EBP-60]
00406980   |. |EB 05        JMP SHORT StartGam.00406987
00406982   |> \B8 51224800  MOV EAX,StartGam.00482251
00406987   |>  50           PUSH EAX                                        ; |Arg2
00406988   |.  8D55 A4      LEA EDX,DWORD PTR SS:[EBP-5C]                   ; |
0040698B   |.  52           PUSH EDX                                        ; |Arg1
0040698C   |.  E8 B7020000  CALL StartGam.00406C48                          ;

\StartGam.00406C48       //比较关键,进去看看

00406C48   /$  55           PUSH EBP
00406C49   |.  8BEC         MOV EBP,ESP
00406C4B   |.  83C4 80      ADD ESP,-80
00406C4E   |.  B8 CC254800  MOV EAX,StartGam.004825CC
00406C53   |.  E8 44F60600  CALL StartGam.0047629C
00406C58   |.  66:C745 90 0>MOV WORD PTR SS:[EBP-70],8
00406C5E   |.  8D55 A4      LEA EDX,DWORD PTR SS:[EBP-5C]
00406C61   |.  52           PUSH EDX                                        ; /Arg1
00406C62   |.  E8 4D180000  CALL StartGam.004084B4                          ;

\StartGam.004084B4
00406C67   |.  59           POP ECX
00406C68   |.  FF45 9C      INC DWORD PTR SS:[EBP-64]
00406C6B   |.  66:C745 90 1>MOV WORD PTR SS:[EBP-70],14
00406C71   |.  8B4D 10      MOV ECX,DWORD PTR SS:[EBP+10]
00406C74   |.  51           PUSH ECX                                        ; /Arg3
00406C75   |.  8B45 0C      MOV EAX,DWORD PTR SS:[EBP+C]                    ; |
00406C78   |.  50           PUSH EAX                                        ; |Arg2
00406C79   |.  8D55 A4      LEA EDX,DWORD PTR SS:[EBP-5C]                   ; |
00406C7C   |.  52           PUSH EDX                                        ; |Arg1
00406C7D   |.  E8 FA190000  CALL StartGam.0040867C                          ;

\StartGam.0040867C
00406C82   |.  83C4 0C      ADD ESP,0C
00406C85   |.  8B4D 14      MOV ECX,DWORD PTR SS:[EBP+14]
00406C88   |.  51           PUSH ECX                                        ; /Arg2
00406C89   |.  8D45 A4      LEA EAX,DWORD PTR SS:[EBP-5C]                   ; |
00406C8C   |.  50           PUSH EAX                                        ; |Arg1
00406C8D   |.  E8 0E190000  CALL StartGam.004085A0                          ;

\StartGam.004085A0       //这里出来的是注册码,进去看看
00406C92   |.  83C4 08      ADD ESP,8
00406C95   |.  FF4D 9C      DEC DWORD PTR SS:[EBP-64]
00406C98   |.  8B55 80      MOV EDX,DWORD PTR SS:[EBP-80]
00406C9B   |.  64:8915 0000>MOV DWORD PTR FS:[0],EDX
00406CA2   |.  8BE5         MOV ESP,EBP
00406CA4   |.  5D           POP EBP
00406CA5   \.  C3           RETN

004085A0   /$  55           PUSH EBP                               //来到这里,不过下面进行的是md5操作,因此没必要复制一大串代码上来了
004085A1   |.  8BEC         MOV EBP,ESP
004085A3   |.  83C4 E8      ADD ESP,-18
004085A6   |.  53           PUSH EBX
004085A7   |.  56           PUSH ESI
004085A8   |.  57           PUSH EDI
004085A9   |.  8B5D 08      MOV EBX,DWORD PTR SS:[EBP+8]
004085AC   |.  6A 08        PUSH 8                   ; /Arg4 = 00000008
004085AE   |.  8D43 44      LEA EAX,DWORD PTR DS:[EBX+44]                   ; |
004085B1   |.  50           PUSH EAX                                        ; |Arg3

004069E3   |.  E8 24310600  CALL StartGam.00469B0C                           //出来以后,这里把试炼码位数放入eax

00406A05   |.  84C9         TEST CL,CL                                       //这里对真假条件比较
00406A07   |.  0F84 1C01000>JE StartGam.00406B29                             //跳了就完了

注册码总结:
用户名+后缀lnk4lnk4lnk4,用md5加密一下就是注册码了。
例:用户名Winter[CZG][D.4s][BCG],加了后缀:Winter[CZG][D.4s][BCG]lnk4lnk4lnk4,注册码就是:D49E472D44C0CC587967EB80FB2FC107

不过注册成功更奇怪,多了个link4res.dll文件,内容好像固定是55D28F7B53D9B67A06FCE5BA84DD3ABB

到这里就完成了,想想学破解快一年了,还没成就,惭愧~,努力学习中……
--------------------------------------------------------------------------------

【版权声明】转载请注明作者以及确保文章完整性,谢谢

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
其中这个公司出的疯狂瓶盖,注册码是在用户名后面加:fkgcaps1
然后转换成md5,就是注册码~
2005-8-12 21:29
0
雪    币: 383
活跃值: (41)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
3
原来你学了一年了, 我以为你也是刚学的呢,就那么厉害,这样会有点打击我的,我见你加入BCG很积极哦
2005-8-12 21:39
0
雪    币: 214
活跃值: (86)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
嘿嘿~MD5的~好~我找一下DELOHI的MD5模块,写个注册机看看
2005-8-12 21:47
0
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
最初由 小娃崽 发布
原来你学了一年了, 我以为你也是刚学的呢,就那么厉害,这样会有点打击我的,我见你加入BCG很积极哦

呵呵,多靠各位兄弟前辈的大力帮助才有今天 ,加入BCG应该还可以学到很多^_^
2005-8-12 21:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主还真快,我刚考虑写破文,楼主都写好了!支持支持!
2005-8-12 22:39
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
怎么加入BCG?
2005-8-13 08:49
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
现在没加壳的软件怎么都让你们遇上了?我怎么就没见到过呢?
楼主写的不错,收藏先!
另外,楼主可否帮忙一下?
2005-8-13 10:48
0
游客
登录 | 注册 方可回帖
返回
//