首页
社区
课程
招聘
[原创]七巧板游戏Tangram-7 V1.1 算法分析及算法注册机
发表于: 2010-2-16 17:33 6727

[原创]七巧板游戏Tangram-7 V1.1 算法分析及算法注册机

2010-2-16 17:33
6727

【破文标题】七巧板游戏Tangram-7 V1.1 算法分析及算法注册机
【破文作者】zaas[PYG][FCT]
【破解工具】OllyICE,PEiD v0.94
【破解平台】WinXP
【软件名称】Tangram-7 V1.1
【更新时间】2010-2-11
【软件类别】国外软件/游戏
【软件语言】英文
【应用平台】WinXP/2000/2003/Vista
【软件性质】共享(收费)软件
【软件大小】7.8M
【原版下载】e35K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8G2N6$3&6D9L8$3q4V1i4K6u0W2j5$3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8W2c8S2L8X3N6J5j5h3#2Q4x3X3b7%4i4K6u0r3x3K6l9H3x3q4)9J5k6o6p5^5y4e0x3$3i4K6g2X3y4q4)9J5k6o6p5H3z5e0M7K6z5o6x3K6i4K6u0W2K9s2c8E0L8l9`.`.
【保护方式】注册码
【软件简介】七巧板是一种智力游戏,顾名思义,是由七块板组成的。而这七这块板可拼成许多图形(1600种以上),例如:三角形、平行四边形、不规则多边形、玩家也可以把它拼成各种人物、形象、动物、桥、房、塔等等,亦可是一些中、英文字母。七巧板的好处与用处简直是多不胜数
,以下是七巧板部分的好处与用处:形状概念、视觉分辨、认智技巧、视觉记忆、手眼协调、鼓励开放、扩散思考、创作机会。
  无论在现代或古代,七巧板都是用以启发幼儿智力的良好伙伴。能够把幼儿对实物与形态之间的桥梁连接起来,培养幼儿的观察力、想像力、形状分析及创意逻辑上都有巨大的发展空间。
  现在被家长们广泛采用来帮助小孩学习基本逻辑关系和数学概念。可以帮助孩子认识各种几何图形、数字、认识周长和面积的意义,了解毕氏定理。
  七巧板还可以教导小朋友辨认颜色,引导小朋友领悟图形的分割与合成,进而增强小朋友的手部智能、耐性和观察力。亦可用以说故事,将数十幅七巧板图片连成一幅幅的连惯图画,即可当漫画般说故给小朋友听。先拼出数款猫、几款狗、一间屋,即可说出一美妙动人的故事。

【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
用PEiD查壳,Microsoft Visual Studio .NET 2005 -- 2008 -> Microsoft Corporation *
**************************************************************
输入错误的注册码,有提示”、“Wrong key”,但搜索字符串无结果。
下断的过程不再说了,有细心和耐心就够了,直接来到注册验证部分。
Part1:注册码整理:

00409080   $  81EC 24030000 sub     esp, 324
00409086   .  A1 04804100   mov     eax, dword ptr [418004]
0040908B   .  33C4          xor     eax, esp
0040908D   .  898424 200300>mov     dword ptr [esp+320], eax
00409094   .  53            push    ebx
00409095   .  56            push    esi
00409096   .  33DB          xor     ebx, ebx
00409098   .  33C9          xor     ecx, ecx
0040909A   .  33F6          xor     esi, esi
0040909C   .  8D6424 00     lea     esp, dword ptr [esp]
004090A0   >  8A86 90465000 mov     al, byte ptr [esi+504690]        ;  假码字符入al
004090A6   .  3AC3          cmp     al, bl                           ;  结束了吗?
004090A8   .  0F84 9D000000 je      0040914B
004090AE   .  3C 30         cmp     al, 30                           ;  跟0比较
004090B0   .  72 04         jb      short 004090B6
004090B2   .  3C 39         cmp     al, 39                           ;  和9比较
004090B4   .  76 0A         jbe     short 004090C0
004090B6   >  8AD0          mov     dl, al                           ;  入dl
004090B8   .  80EA 61       sub     dl, 61                           ;  -61
004090BB   .  80FA 05       cmp     dl, 5                            ;  和5比较
004090BE   .  77 0A         ja      short 004090CA                   ;  大于则跳也就是比较是否大于f,大于则直接取下一个
004090C0   >  88840C 280100>mov     byte ptr [esp+ecx+128], al
004090C7   .  83C1 01       add     ecx, 1                           ;  计数器+1
004090CA   >  8A86 91465000 mov     al, byte ptr [esi+504691]        ;  下一字符
004090D0   .  3AC3          cmp     al, bl
004090D2   .  74 77         je      short 0040914B
004090D4   .  3C 30         cmp     al, 30
004090D6   .  72 04         jb      short 004090DC
004090D8   .  3C 39         cmp     al, 39
004090DA   .  76 0A         jbe     short 004090E6
004090DC   >  8AD0          mov     dl, al
004090DE   .  80EA 61       sub     dl, 61
004090E1   .  80FA 05       cmp     dl, 5
004090E4   .  77 0A         ja      short 004090F0
004090E6   >  88840C 280100>mov     byte ptr [esp+ecx+128], al
004090ED   .  83C1 01       add     ecx, 1
004090F0   >  8A86 92465000 mov     al, byte ptr [esi+504692]        ;  第三字符/////为什么不用循环呢。。。。
004090F6   .  3AC3          cmp     al, bl
004090F8   .  74 51         je      short 0040914B
004090FA   .  3C 30         cmp     al, 30
004090FC   .  72 04         jb      short 00409102
004090FE   .  3C 39         cmp     al, 39
00409100   .  76 0A         jbe     short 0040910C
00409102   >  8AD0          mov     dl, al
00409104   .  80EA 61       sub     dl, 61
00409107   .  80FA 05       cmp     dl, 5
0040910A   .  77 0A         ja      short 00409116
0040910C   >  88840C 280100>mov     byte ptr [esp+ecx+128], al
00409113   .  83C1 01       add     ecx, 1
00409116   >  8A86 93465000 mov     al, byte ptr [esi+504693]
0040911C   .  3AC3          cmp     al, bl
0040911E   .  74 2B         je      short 0040914B
00409120   .  3C 30         cmp     al, 30
00409122   .  72 04         jb      short 00409128
00409124   .  3C 39         cmp     al, 39
00409126   .  76 0A         jbe     short 00409132
00409128   >  8AD0          mov     dl, al
0040912A   .  80EA 61       sub     dl, 61
0040912D   .  80FA 05       cmp     dl, 5
00409130   .  77 0A         ja      short 0040913C
00409132   >  88840C 280100>mov     byte ptr [esp+ecx+128], al
00409139   .  83C1 01       add     ecx, 1
0040913C   >  83C6 04       add     esi, 4                           ;  一个dword为一组循环
0040913F   .  81FE 00010000 cmp     esi, 100
00409145   .^ 0F8C 55FFFFFF jl      004090A0
0040914B   >  83F9 1C       cmp     ecx, 1C                          ;  一共1C位注册码,注册码格式为0-f(小写)
0040914E   .  74 19         je      short 00409169
00409150   .  5E            pop     esi
00409151   .  33C0          xor     eax, eax
00409153   .  5B            pop     ebx
00409154   .  8B8C24 200300>mov     ecx, dword ptr [esp+320]
0040915B   .  33CC          xor     ecx, esp
0040915D   .  E8 51220000   call    0040B3B3
00409162   .  81C4 24030000 add     esp, 324
00409168   .  C3            retn
00409169   >  8D8424 280200>lea     eax, dword ptr [esp+228]
00409170   .  50            push    eax
00409171   .  889C24 480100>mov     byte ptr [esp+148], bl
00409178   .  33F6          xor     esi, esi
0040917A   .  E8 21020000   call    004093A0                         ;  算法-》机器码字符串A
0040917F   .  83C4 04       add     esp, 4
00409182   .  33C9          xor     ecx, ecx
00409184   .  EB 0A         jmp     short 00409190
00409186   .  8DA424 000000>lea     esp, dword ptr [esp]
0040918D   .  8D49 00       lea     ecx, dword ptr [ecx]
00409190   >  8A840C 280200>mov     al, byte ptr [esp+ecx+228]       ;  字符串A处理方式同假码
00409197   .  3AC3          cmp     al, bl
00409199   .  0F84 8C000000 je      0040922B
0040919F   .  3C 30         cmp     al, 30
004091A1   .  7C 04         jl      short 004091A7
004091A3   .  3C 39         cmp     al, 39
004091A5   .  7E 08         jle     short 004091AF
004091A7   >  3C 61         cmp     al, 61
004091A9   .  7C 0B         jl      short 004091B6
004091AB   .  3C 66         cmp     al, 66
004091AD   .  7F 07         jg      short 004091B6
004091AF   >  884434 28     mov     byte ptr [esp+esi+28], al
004091B3   .  83C6 01       add     esi, 1
004091B6   >  8A840C 290200>mov     al, byte ptr [esp+ecx+229]
004091BD   .  3AC3          cmp     al, bl
004091BF   .  74 6A         je      short 0040922B
004091C1   .  3C 30         cmp     al, 30
004091C3   .  7C 04         jl      short 004091C9
004091C5   .  3C 39         cmp     al, 39
004091C7   .  7E 08         jle     short 004091D1
004091C9   >  3C 61         cmp     al, 61
004091CB   .  7C 0B         jl      short 004091D8
004091CD   .  3C 66         cmp     al, 66
004091CF   .  7F 07         jg      short 004091D8
004091D1   >  884434 28     mov     byte ptr [esp+esi+28], al
004091D5   .  83C6 01       add     esi, 1
004091D8   >  8A840C 2A0200>mov     al, byte ptr [esp+ecx+22A]
004091DF   .  3AC3          cmp     al, bl
004091E1   .  74 48         je      short 0040922B
004091E3   .  3C 30         cmp     al, 30
004091E5   .  7C 04         jl      short 004091EB
004091E7   .  3C 39         cmp     al, 39
004091E9   .  7E 08         jle     short 004091F3
004091EB   >  3C 61         cmp     al, 61
004091ED   .  7C 0B         jl      short 004091FA
004091EF   .  3C 66         cmp     al, 66
004091F1   .  7F 07         jg      short 004091FA
004091F3   >  884434 28     mov     byte ptr [esp+esi+28], al
004091F7   .  83C6 01       add     esi, 1
004091FA   >  8A840C 2B0200>mov     al, byte ptr [esp+ecx+22B]
00409201   .  3AC3          cmp     al, bl
00409203   .  74 26         je      short 0040922B
00409205   .  3C 30         cmp     al, 30
00409207   .  7C 04         jl      short 0040920D
00409209   .  3C 39         cmp     al, 39
0040920B   .  7E 08         jle     short 00409215
0040920D   >  3C 61         cmp     al, 61
0040920F   .  7C 0B         jl      short 0040921C
00409211   .  3C 66         cmp     al, 66
00409213   .  7F 07         jg      short 0040921C
00409215   >  884434 28     mov     byte ptr [esp+esi+28], al
00409219   .  83C6 01       add     esi, 1
0040921C   >  83C1 04       add     ecx, 4
0040921F   .  81F9 00010000 cmp     ecx, 100
00409225   .^ 0F8C 65FFFFFF jl      00409190
0040922B   >  33C0          xor     eax, eax
0040922D   .  83FE 1C       cmp     esi, 1C
00409230   .  0F85 47010000 jnz     0040937D
00409236   .  885C24 44     mov     byte ptr [esp+44], bl            ;  结尾设0
0040923A   .  885C24 16     mov     byte ptr [esp+16], bl            ;  转换后得到--》字符串B
0040923E   .  8BFF          mov     edi, edi
00409240   >  8A4C44 28     mov     cl, byte ptr [esp+eax*2+28]      ;  字符串B取字符入cl
00409244   .  8AD1          mov     dl, cl
00409246   .  80EA 30       sub     dl, 30                           ;  -30
00409249   .  80FA 09       cmp     dl, 9                            ;  和9比较
0040924C   .  77 04         ja      short 00409252                   ;  分别字符与数字
0040924E   .  8ACA          mov     cl, dl
00409250   .  EB 03         jmp     short 00409255
00409252   >  80E9 57       sub     cl, 57                           ;  字母-57,数字-30
00409255   >  8A5444 29     mov     dl, byte ptr [esp+eax*2+29]      ;  下一位
00409259   .  8ADA          mov     bl, dl
0040925B   .  80EB 30       sub     bl, 30
0040925E   .  80FB 09       cmp     bl, 9
00409261   .  77 04         ja      short 00409267
00409263   .  8AD3          mov     dl, bl
00409265   .  EB 03         jmp     short 0040926A
00409267   >  80EA 57       sub     dl, 57
0040926A   >  C0E1 04       shl     cl, 4                            ;  上一字符处理后左移一位
0040926D   .  02CA          add     cl, dl                           ;  和这一字符组合
0040926F   .  8A5444 2A     mov     dl, byte ptr [esp+eax*2+2A]      ;  第三字符
00409273   .  884C04 08     mov     byte ptr [esp+eax+8], cl
00409277   .  8ACA          mov     cl, dl
00409279   .  80E9 30       sub     cl, 30
0040927C   .  80F9 09       cmp     cl, 9
0040927F   .  76 05         jbe     short 00409286
00409281   .  80EA 57       sub     dl, 57
00409284   .  8ACA          mov     cl, dl
00409286   >  8A5444 2B     mov     dl, byte ptr [esp+eax*2+2B]      ;  第四字符
0040928A   .  8ADA          mov     bl, dl
0040928C   .  80EB 30       sub     bl, 30
0040928F   .  80FB 09       cmp     bl, 9
00409292   .  77 04         ja      short 00409298
00409294   .  8AD3          mov     dl, bl
00409296   .  EB 03         jmp     short 0040929B
00409298   >  80EA 57       sub     dl, 57
0040929B   >  C0E1 04       shl     cl, 4
0040929E   .  02CA          add     cl, dl
004092A0   .  884C04 09     mov     byte ptr [esp+eax+9], cl
004092A4   .  83C0 02       add     eax, 2                           ;  计数器+2
004092A7   .  83F8 0E       cmp     eax, 0E                          ;  28/2=14
004092AA   .^ 7C 94         jl      short 00409240                   ;  转换后得到--》字符串C
004092AC   .  33C0          xor     eax, eax
004092AE   .  884424 26     mov     byte ptr [esp+26], al
004092B2   >  8A8C44 280100>mov     cl, byte ptr [esp+eax*2+128]     ;  假码同上处理得到--》假码B
004092B9   .  8AD1          mov     dl, cl
004092BB   .  80EA 30       sub     dl, 30
004092BE   .  80FA 09       cmp     dl, 9
004092C1   .  77 04         ja      short 004092C7
004092C3   .  8ACA          mov     cl, dl
004092C5   .  EB 03         jmp     short 004092CA
004092C7   >  80E9 57       sub     cl, 57
004092CA   >  8A9444 290100>mov     dl, byte ptr [esp+eax*2+129]
004092D1   .  8ADA          mov     bl, dl
004092D3   .  80EB 30       sub     bl, 30
004092D6   .  80FB 09       cmp     bl, 9
004092D9   .  77 04         ja      short 004092DF
004092DB   .  8AD3          mov     dl, bl
004092DD   .  EB 03         jmp     short 004092E2
004092DF   >  80EA 57       sub     dl, 57
004092E2   >  C0E1 04       shl     cl, 4
004092E5   .  02CA          add     cl, dl
004092E7   .  8A9444 2A0100>mov     dl, byte ptr [esp+eax*2+12A]
004092EE   .  884C04 18     mov     byte ptr [esp+eax+18], cl
004092F2   .  8ACA          mov     cl, dl
004092F4   .  80E9 30       sub     cl, 30
004092F7   .  80F9 09       cmp     cl, 9
004092FA   .  76 05         jbe     short 00409301
004092FC   .  80EA 57       sub     dl, 57
004092FF   .  8ACA          mov     cl, dl
00409301   >  8A9444 2B0100>mov     dl, byte ptr [esp+eax*2+12B]
00409308   .  8ADA          mov     bl, dl
0040930A   .  80EB 30       sub     bl, 30
0040930D   .  80FB 09       cmp     bl, 9
00409310   .  77 04         ja      short 00409316
00409312   .  8AD3          mov     dl, bl
00409314   .  EB 03         jmp     short 00409319
00409316   >  80EA 57       sub     dl, 57
00409319   >  C0E1 04       shl     cl, 4
0040931C   .  02CA          add     cl, dl
0040931E   .  884C04 19     mov     byte ptr [esp+eax+19], cl
00409322   .  83C0 02       add     eax, 2
00409325   .  83F8 0E       cmp     eax, 0E
00409328   .^ 7C 88         jl      short 004092B2

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 145
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
游戏很好玩.
不过upk也发了
2010-2-16 20:23
0
雪    币: 233
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
玩了一下游戏,显示屏显示不小。
2010-2-16 21:55
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
这里的描述的情况怕是有些问题,你再仔细看看。
2010-2-17 21:08
0
雪    币: 399
活跃值: (214)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
5
hoho。。。偶描述的不够清楚。
循环每次去掉前一位。。。
2010-2-18 00:21
0
游客
登录 | 注册 方可回帖
返回