首页
社区
课程
招聘
[原创]小学数学伴侣 4.8解码分析
发表于: 2006-11-14 10:39 5678

[原创]小学数学伴侣 4.8解码分析

2006-11-14 10:39
5678
【破文标题】小学数学伴侣 4.8解码分析
【破文作者】lzq1973[PYG][CZG][OCN][DFCG]
【作者邮箱】lzq9888@126.com
【作者主页】
【破解工具】OD、PEiD、C32Asm
【破解平台】WIN98、WIN2000
【软件名称】小学数学伴侣 4.8
【软件大小】27113KB
【原版下载】http://www.onlinedown.net/soft/29791.htm
【保护方式】加壳、注册码
【软件简介】  《小学数学伴侣》是一款根据众多小学老师、学生及学生家长的要求和习惯而量身定做,并面向广大小学教师、家长与小学生的数学教育类软件。
  《小学数学伴侣》界面简洁漂亮,色彩柔和;操作简便;题目覆盖小学1-6年级各个章节,与教材(人教版)同步,各章节中的题目都相当丰富且难易适当,并附带近36份试卷,软件可自动升级更新;小朋友可以通过“同步辅导”进行小节的学习,同时可以通过“同步测试”进行小节的测试;配有详细的成绩曲线图(包含对错情况与做题时间等)来显示小朋友以前的测试成绩;能进行各小节题目打印;有三个思维训练模块,能快速提高小朋友的计算能力和思维能力;集成多个数学工具,能极大缩短您处理这方面数学问题时的时间;您可以创建与修改自己的题库,按照您的要求来制做题目和专题;您可以自定义题目颜色及大小等外观效果以更方便您的使用;农历查询、课程表、特殊符号等内置工具将方便您对一些常用信息的查找,同时软件自带一个多媒体家庭相册显示系统,拥有多种显示特效,您可以轻松设置自己的家庭相册。
【破解声明】俺是只小小鸟,纯为学习,愿与大家分享!
------------------------------------------------------------------------
用PEID查之,乃NsPack V2.x -> LiuXingPing *,用其插件脱之。用OD断之如下:

0051E7E4   .  55            push    ebp
0051E7E5   .  8BEC          mov     ebp, esp
0051E7E7   .  B9 0A000000   mov     ecx, 0A
0051E7EC   >  6A 00         push    0
0051E7EE   .  6A 00         push    0
0051E7F0   .  49            dec     ecx
0051E7F1   .^ 75 F9         jnz     short 0051E7EC
0051E7F3   .  53            push    ebx
0051E7F4   .  8945 FC       mov     [ebp-4], eax
0051E7F7   .  33C0          xor     eax, eax
0051E7F9   .  55            push    ebp
0051E7FA   .  68 48EB5100   push    0051EB48
0051E7FF   .  64:FF30       push    dword ptr fs:[eax]
0051E802   .  64:8920       mov     fs:[eax], esp
0051E805   .  B2 01         mov     dl, 1
0051E807   .  A1 D82F4400   mov     eax, [442FD8]
0051E80C   .  E8 3349F2FF   call    00443144
0051E811   .  8945 F8       mov     [ebp-8], eax
0051E814   .  BA 02000080   mov     edx, 80000002
0051E819   .  8B45 F8       mov     eax, [ebp-8]
0051E81C   .  E8 FF49F2FF   call    00443220
0051E821   .  C605 08165900>mov     byte ptr [591608], 0
0051E828   .  C605 E4145900>mov     byte ptr [5914E4], 0
0051E82F   .  B1 01         mov     cl, 1
0051E831   .  BA 5CEB5100   mov     edx, 0051EB5C                    ;  ASCII "Software\soukuang\math"
0051E836   .  8B45 F8       mov     eax, [ebp-8]
0051E839   .  E8 264BF2FF   call    00443364
0051E83E   .  84C0          test    al, al
0051E840   .  0F84 E7020000 je      0051EB2D
0051E846   .  33C9          xor     ecx, ecx
0051E848   .  55            push    ebp
0051E849   .  68 26EB5100   push    0051EB26
0051E84E   .  64:FF31       push    dword ptr fs:[ecx]
0051E851   .  64:8921       mov     fs:[ecx], esp
0051E854   .  8D4D D8       lea     ecx, [ebp-28]
0051E857   .  BA 7CEB5100   mov     edx, 0051EB7C
0051E85C   .  8B45 F8       mov     eax, [ebp-8]
0051E85F   .  E8 E84CF2FF   call    0044354C
0051E864   .  8B55 D8       mov     edx, [ebp-28]                    ;  (ASCII "lzq1973")
0051E867   .  B8 EC155900   mov     eax, 005915EC
0051E86C   .  E8 BF5BEEFF   call    00404430
0051E871   .  8D4D D4       lea     ecx, [ebp-2C]
0051E874   .  BA 88EB5100   mov     edx, 0051EB88
0051E879   .  8B45 F8       mov     eax, [ebp-8]
0051E87C   .  E8 CB4CF2FF   call    0044354C
0051E881   .  8B55 D4       mov     edx, [ebp-2C]                    ;  (ASCII "112345678345678902345678945678901")
0051E884   .  B8 10165900   mov     eax, 00591610
0051E889   .  E8 A25BEEFF   call    00404430
0051E88E   .  8D45 E0       lea     eax, [ebp-20]
0051E891   .  50            push    eax
0051E892   .  B9 08000000   mov     ecx, 8
0051E897   .  BA 12000000   mov     edx, 12
0051E89C   .  A1 10165900   mov     eax, [591610]
0051E8A1   .  E8 220FF2FF   call    0043F7C8
0051E8A6   .  A1 EC155900   mov     eax, [5915EC]
0051E8AB   .  E8 EC5DEEFF   call    0040469C
0051E8B0   .  83F8 04       cmp     eax, 4
0051E8B3   .  7D 30         jge     short 0051E8E5
0051E8B5   .  33C9          xor     ecx, ecx
0051E8B7   .  BA 7CEB5100   mov     edx, 0051EB7C
0051E8BC   .  8B45 F8       mov     eax, [ebp-8]
0051E8BF   .  E8 5C4CF2FF   call    00443520
0051E8C4   .  BA 88EB5100   mov     edx, 0051EB88
0051E8C9   .  8B45 F8       mov     eax, [ebp-8]
0051E8CC   .  E8 B74BF2FF   call    00443488
0051E8D1   .  B8 EC155900   mov     eax, 005915EC
0051E8D6   .  E8 015BEEFF   call    004043DC
0051E8DB   .  E8 4455EEFF   call    00403E24
0051E8E0   .  E9 48020000   jmp     0051EB2D
0051E8E5   >  8D4D D0       lea     ecx, [ebp-30]
0051E8E8   .  BA 01000000   mov     edx, 1
0051E8ED   .  A1 10165900   mov     eax, [591610]
0051E8F2   .  E8 DD0DF2FF   call    0043F6D4
0051E8F7   .  8B55 D0       mov     edx, [ebp-30]
0051E8FA   .  B8 00165900   mov     eax, 00591600
0051E8FF   .  E8 2C5BEEFF   call    00404430
0051E904   .  A1 00165900   mov     eax, [591600]
0051E909   .  BA 94EB5100   mov     edx, 0051EB94
0051E90E   .  E8 D55EEEFF   call    004047E8
0051E913   .  74 30         je      short 0051E945
0051E915   .  33C9          xor     ecx, ecx
0051E917   .  BA 7CEB5100   mov     edx, 0051EB7C
0051E91C   .  8B45 F8       mov     eax, [ebp-8]
0051E91F   .  E8 FC4BF2FF   call    00443520
0051E924   .  BA 88EB5100   mov     edx, 0051EB88
0051E929   .  8B45 F8       mov     eax, [ebp-8]
0051E92C   .  E8 574BF2FF   call    00443488
0051E931   .  B8 EC155900   mov     eax, 005915EC
0051E936   .  E8 A15AEEFF   call    004043DC
0051E93B   .  E8 E454EEFF   call    00403E24
0051E940   .  E9 E8010000   jmp     0051EB2D
0051E945   >  8D45 E8       lea     eax, [ebp-18]
0051E948   .  50            push    eax
0051E949   .  B9 0A000000   mov     ecx, 0A
0051E94E   .  BA 01000000   mov     edx, 1
0051E953   .  A1 10165900   mov     eax, [591610]
0051E958   .  E8 6B0EF2FF   call    0043F7C8
0051E95D   .  A1 10165900   mov     eax, [591610]
0051E962   .  E8 355DEEFF   call    0040469C
0051E967   .  83F8 21       cmp     eax, 21                          ;  注册码长度为32位,即每组8位
0051E96A   .  74 30         je      short 0051E99C
0051E96C   .  33C9          xor     ecx, ecx
0051E96E   .  BA 7CEB5100   mov     edx, 0051EB7C
0051E973   .  8B45 F8       mov     eax, [ebp-8]
0051E976   .  E8 A54BF2FF   call    00443520
0051E97B   .  BA 88EB5100   mov     edx, 0051EB88
0051E980   .  8B45 F8       mov     eax, [ebp-8]
0051E983   .  E8 004BF2FF   call    00443488
0051E988   .  B8 EC155900   mov     eax, 005915EC
0051E98D   .  E8 4A5AEEFF   call    004043DC
0051E992   .  E8 8D54EEFF   call    00403E24
0051E997   .  E9 91010000   jmp     0051EB2D
0051E99C   >  8D45 DC       lea     eax, [ebp-24]
0051E99F   .  50            push    eax
0051E9A0   .  B9 0A000000   mov     ecx, 0A
0051E9A5   .  BA 18000000   mov     edx, 18
0051E9AA   .  A1 10165900   mov     eax, [591610]
0051E9AF   .  E8 140EF2FF   call    0043F7C8
0051E9B4   .  6A 00         push    0                                ; /pFileSystemNameSize = NULL
0051E9B6   .  6A 00         push    0                                ; |pFileSystemNameBuffer = NULL
0051E9B8   .  8D45 EC       lea     eax, [ebp-14]                    ; |
0051E9BB   .  50            push    eax                              ; |pFileSystemFlags
0051E9BC   .  8D45 F0       lea     eax, [ebp-10]                    ; |
0051E9BF   .  50            push    eax                              ; |pMaxFilenameLength
0051E9C0   .  8D45 F4       lea     eax, [ebp-C]                     ; |
0051E9C3   .  50            push    eax                              ; |pVolumeSerialNumber
0051E9C4   .  6A 00         push    0                                ; |MaxVolumeNameSize = 0
0051E9C6   .  6A 00         push    0                                ; |VolumeNameBuffer = NULL
0051E9C8   .  68 98EB5100   push    0051EB98                         ; |RootPathName = "c:\"
0051E9CD   .  E8 8284EEFF   call    <jmp.&KERNEL32.GetVolumeInformat>; \GetVolumeInformationA
0051E9D2   .  8D45 E4       lea     eax, [ebp-1C]
0051E9D5   .  50            push    eax
0051E9D6   .  B9 08000000   mov     ecx, 8
0051E9DB   .  BA 0A000000   mov     edx, 0A
0051E9E0   .  A1 10165900   mov     eax, [591610]
0051E9E5   .  E8 DE0DF2FF   call    0043F7C8
0051E9EA   .  68 A4EB5100   push    0051EBA4                         ;  ASCII "AB1"
0051E9EF   .  FF35 10165900 push    dword ptr [591610]               ;  (ASCII "112345678345678902345678945678901")
0051E9F5   .  68 B0EB5100   push    0051EBB0                         ;  ASCII "D89"
0051E9FA   .  8D45 C8       lea     eax, [ebp-38]
0051E9FD   .  BA 03000000   mov     edx, 3
0051EA02   .  E8 555DEEFF   call    0040475C
0051EA07   .  8B45 C8       mov     eax, [ebp-38]                    ;  (ASCII "AB1112345678345678902345678945678901D89")
0051EA0A   .  8D55 CC       lea     edx, [ebp-34]
0051EA0D   .  E8 4AFAFFFF   call    0051E45C
0051EA12   .  8B55 CC       mov     edx, [ebp-34]                    ;  第四个8位注册码,经验证任意即可(ASCII "21560869")
0051EA15   .  8B45 DC       mov     eax, [ebp-24]                    ;  后10位  (ASCII "8945678901")
0051EA18   .  E8 CB5DEEFF   call    004047E8
0051EA1D   .  75 3C         jnz     short 0051EA5B
0051EA1F   .  68 BCEB5100   push    0051EBBC                         ;  ASCII "82C"
0051EA24   .  FF35 10165900 push    dword ptr [591610]
0051EA2A   .  68 C8EB5100   push    0051EBC8                         ;  ASCII "15984250"
0051EA2F   .  8D45 C0       lea     eax, [ebp-40]
0051EA32   .  BA 03000000   mov     edx, 3
0051EA37   .  E8 205DEEFF   call    0040475C
0051EA3C   .  8B45 C0       mov     eax, [ebp-40]
0051EA3F   .  8D55 C4       lea     edx, [ebp-3C]
0051EA42   .  E8 95F8FFFF   call    0051E2DC
0051EA47   .  8B55 C4       mov     edx, [ebp-3C]
0051EA4A   .  8B45 E8       mov     eax, [ebp-18]
0051EA4D   .  E8 965DEEFF   call    004047E8
0051EA52   .  75 07         jnz     short 0051EA5B
0051EA54   .  C605 08165900>mov     byte ptr [591608], 1
0051EA5B   >  B8 08000000   mov     eax, 8
0051EA60   >  8BD0          mov     edx, eax
0051EA62   .  4A            dec     edx
0051EA63   .  8BCA          mov     ecx, edx
0051EA65   .  8B5D F4       mov     ebx, [ebp-C]
0051EA68   .  D3E3          shl     ebx, cl
0051EA6A   .  48            dec     eax
0051EA6B   .  85C0          test    eax, eax
0051EA6D   .^ 75 F1         jnz     short 0051EA60
0051EA6F   .  8BC3          mov     eax, ebx
0051EA71   .  33D2          xor     edx, edx
0051EA73   .  52            push    edx                              ; /Arg2 => 00000000
0051EA74   .  50            push    eax                              ; |Arg1
0051EA75   .  8D55 BC       lea     edx, [ebp-44]                    ; |
0051EA78   .  B8 08000000   mov     eax, 8                           ; |
0051EA7D   .  E8 32A9EEFF   call    004093B4                         ; \小学数学.004093B4
0051EA82   .  8B55 BC       mov     edx, [ebp-44]                    ;  硬件号(ASCII "E01DCF36")
0051EA85   .  B8 10165900   mov     eax, 00591610
0051EA8A   .  E8 A159EEFF   call    00404430
0051EA8F   .  8D55 B8       lea     edx, [ebp-48]
0051EA92   .  A1 10165900   mov     eax, [591610]
0051EA97   .  E8 40F8FFFF   call    0051E2DC
0051EA9C   .  8B55 B8       mov     edx, [ebp-48]                    ;  (ASCII "13935563")
0051EA9F   .  8B45 E4       mov     eax, [ebp-1C]                    ;  第三个8位 (ASCII "34567890")
0051EAA2   .  E8 415DEEFF   call    004047E8                         ;  第三个8位注册码注册器・[EDX]
0051EAA7      75 5D         jnz     short 0051EB06
0051EAA9   .  8D55 B4       lea     edx, [ebp-4C]
0051EAAC   .  A1 10165900   mov     eax, [591610]
0051EAB1   .  E8 1EF7FFFF   call    0051E1D4
0051EAB6   .  8B55 B4       mov     edx, [ebp-4C]                    ;   (ASCII "29117412")
0051EAB9   .  8B45 E0       mov     eax, [ebp-20]                    ;  (ASCII "15984250")
0051EABC   .  E8 275DEEFF   call    004047E8                         ;  第二个8位注册码注册器・[EDX]
0051EAC1   .  75 37         jnz     short 0051EAFA
0051EAC3   .  68 DCEB5100   push    0051EBDC                         ;  \->: 软件版本 V4.8 〖本软件的使用权属于:
0051EAC8   .  FF35 EC155900 push    dword ptr [5915EC]
0051EACE   .  68 0CEC5100   push    0051EC0C                         ;  \->: 〗
0051EAD3   .  8D45 B0       lea     eax, [ebp-50]
0051EAD6   .  BA 03000000   mov     edx, 3
0051EADB   .  E8 7C5CEEFF   call    0040475C
0051EAE0   .  8B55 B0       mov     edx, [ebp-50]
0051EAE3   .  8B45 FC       mov     eax, [ebp-4]
0051EAE6   .  8B80 FC020000 mov     eax, [eax+2FC]
0051EAEC   .  E8 CB64F4FF   call    00464FBC
0051EAF1   .  C605 E4145900>mov     byte ptr [5914E4], 1
0051EAF8   .  EB 16         jmp     short 0051EB10
0051EAFA   >  B8 EC155900   mov     eax, 005915EC
0051EAFF   .  E8 D858EEFF   call    004043DC
0051EB04   .  EB 0A         jmp     short 0051EB10
0051EB06   >  B8 EC155900   mov     eax, 005915EC
0051EB0B   .  E8 CC58EEFF   call    004043DC
0051EB10   >  33C0          xor     eax, eax
0051EB12   .  5A            pop     edx
0051EB13   .  59            pop     ecx
0051EB14   .  59            pop     ecx
0051EB15   .  64:8910       mov     fs:[eax], edx
0051EB18   .  68 2DEB5100   push    0051EB2D
0051EB1D   >  8B45 F8       mov     eax, [ebp-8]
0051EB20   .  E8 C349EEFF   call    004034E8
0051EB25   .  C3            retn
0051EB26   .^ E9 5151EEFF   jmp     00403C7C
0051EB2B   .^ EB F0         jmp     short 0051EB1D
0051EB2D   >  33C0          xor     eax, eax
0051EB2F   .  5A            pop     edx
0051EB30   .  59            pop     ecx
0051EB31   .  59            pop     ecx
0051EB32   .  64:8910       mov     fs:[eax], edx
0051EB35   .  68 4FEB5100   push    0051EB4F
0051EB3A   >  8D45 B0       lea     eax, [ebp-50]
0051EB3D   .  BA 0F000000   mov     edx, 0F
0051EB42   .  E8 B958EEFF   call    00404400
0051EB47   .  C3            retn
0051EB48   .^ E9 2F51EEFF   jmp     00403C7C
0051EB4D   .^ EB EB         jmp     short 0051EB3A
0051EB4F   .  5B            pop     ebx
0051EB50   .  8BE5          mov     esp, ebp
0051EB52   .  5D            pop     ebp
0051EB53   .  C3            retn

明码比较,要找算法有点难。。。

------------------------------------------------------------------------
【破解总结】

注册方法:
1、运行程序来到注册窗口,任意输入注册码(每个输入框内8位),输入框顺序以Tab键定顺序(具体为左1、2,右3、4);
2、运行注册器1,截取的注册码为第三个8位;
3、运行程序在第三个输入框内输入截取到的注册码(用方法2得到的),其它三个任意(但各框内要满8位);
4、运行注册器2,截取的注册码为第二个8位;
5、运行程序在第二、三个输入框内输入截取到的注册码(用方法4、2得到的),其它二个任意(但各框内要满8位);
6、OK!!

注:注册码为数字,每框长度8,一、四框内任意。注册时按顺序进行。切记!!!

注册信息保存处:

[HKEY_LOCAL_MACHINE\SOFTWARE\soukuang\math]
"r"="lzq1973"
"bgpicture"="默认背景图片"
"mymusic"="F:\\小学数学伴侣\\DATA\\Love.mp3"
"Myimages"="F:\\小学数学伴侣\\DATA\\Myimages"
"state"=hex:00,00,00,00,00,00,00
"bgsound"=""
"font"=hex:04,cb,ce,cc,e5,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,04,cb,ce,cc,e5,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,10,00,00,00,10,00,00,00,\
  00,00,00,00,ff,00,00,00,cb,d9,fc,00,cb,d9,fc,00
"i"="111111111139355632911741244444444"

------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!







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

收藏
免费
支持
分享
最新回复 (7)
雪    币: 231
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
应坛主要求,注册器附件已删除。。。
2006-11-14 14:00
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
分析很透彻,学习!
2006-11-15 23:26
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
    强啊。。。
2006-11-16 11:28
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关键是我跟了半天 不懂 关键的 为何从

0051E7E4   .  55            push    ebp

开始。。

  就是说 如何 下断 跟到这个位置?  怎么跟 能不能说一下思路
2006-11-16 21:38
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
今天有时间学习了一下,觉得楼主有一个地方有误:
0051EA9C   .  8B55 B8       mov     edx, [ebp-48]                    ;  (ASCII "13935563")
0051EA9F   .  8B45 E4       mov     eax, [ebp-1C]                    ;  第三个8位 (ASCII "34567890")
0051EAA2   .  E8 415DEEFF   call    004047E8                         ;  第三个8位注册码注册器・[EDX]
0051EAA7      75 5D         jnz     short 0051EB06 //////////这里不能跳,否则无法注册成功的!把它改成jz,保存后再用注册机就OK了。
0051EAA9   .  8D55 B4       lea     edx, [ebp-4C]
0051EAAC   .  A1 10165900   mov     eax, [591610]
0051EAB1   .  E8 1EF7FFFF   call    0051E1D4
0051EAB6   .  8B55 B4       mov     edx, [ebp-4C]                    ;   (ASCII "29117412")
0051EAB9   .  8B45 E0       mov     eax, [ebp-20]                    ;  (ASCII "15984250")
0051EABC   .  E8 275DEEFF   call    004047E8                         ;  第二个8位注册码注册器・[EDX]
0051EAC1   .  75 37         jnz     short 0051EAFA
0051EAC3   .  68 DCEB5100   push    0051EBDC                         ;  \->: 软件版本 V4.8 〖本软件的使用权属于:
0051EAC8   .  FF35 EC155900 push    dword ptr [5915EC]
0051EACE   .  68 0CEC5100   push    0051EC0C                         ;  \->: 〗
0051EAD3   .  8D45 B0       lea     eax, [ebp
2006-11-22 21:12
0
雪    币: 225
活跃值: (55)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
想加入龙族论坛,老兄能“邀请”一下吗?/looyoo
2006-12-8 21:00
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
打印功能提示仍未注册.
2007-2-4 12:50
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册