【破文标题】七巧板游戏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
【原版下载】bc4K9s2c8@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
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课