飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3733|回复: 4

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

[复制链接]
  • TA的每日心情
    慵懒
    2019-1-18 17:27
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2006-11-14 10:26:00 | 显示全部楼层 |阅读模式
    【破文标题】小学数学伴侣 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"


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



    相关附件见
    https://www.chinapyg.com/viewthr ... &extra=page%3D1
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2006-11-19 18:33:29 | 显示全部楼层
    这么好的文章怎么就没有人来顶,我来支持一下。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-20 11:40:23 | 显示全部楼层
    支持一下!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-20 19:00:59 | 显示全部楼层
    学习,收藏!!支持!!!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-20 19:20:45 | 显示全部楼层
    学习,收藏。努力学习算法中!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表