lzq1973 发表于 2006-11-14 10:26:00

小学数学伴侣 4.8解码分析

【破文标题】小学数学伴侣 4.8解码分析
【破文作者】lzq1973
【作者邮箱】[email protected]
【作者主页】
【破解工具】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   , eax
0051E7F7   .33C0          xor   eax, eax
0051E7F9   .55            push    ebp
0051E7FA   .68 48EB5100   push    0051EB48
0051E7FF   .64:FF30       push    dword ptr fs:
0051E802   .64:8920       mov   fs:, esp
0051E805   .B2 01         mov   dl, 1
0051E807   .A1 D82F4400   mov   eax,
0051E80C   .E8 3349F2FF   call    00443144
0051E811   .8945 F8       mov   , eax
0051E814   .BA 02000080   mov   edx, 80000002
0051E819   .8B45 F8       mov   eax,
0051E81C   .E8 FF49F2FF   call    00443220
0051E821   .C605 08165900>mov   byte ptr , 0
0051E828   .C605 E4145900>mov   byte ptr , 0
0051E82F   .B1 01         mov   cl, 1
0051E831   .BA 5CEB5100   mov   edx, 0051EB5C                  ;ASCII "Software\soukuang\math"
0051E836   .8B45 F8       mov   eax,
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:
0051E851   .64:8921       mov   fs:, esp
0051E854   .8D4D D8       lea   ecx,
0051E857   .BA 7CEB5100   mov   edx, 0051EB7C
0051E85C   .8B45 F8       mov   eax,
0051E85F   .E8 E84CF2FF   call    0044354C
0051E864   .8B55 D8       mov   edx,                   ;(ASCII "lzq1973")
0051E867   .B8 EC155900   mov   eax, 005915EC
0051E86C   .E8 BF5BEEFF   call    00404430
0051E871   .8D4D D4       lea   ecx,
0051E874   .BA 88EB5100   mov   edx, 0051EB88
0051E879   .8B45 F8       mov   eax,
0051E87C   .E8 CB4CF2FF   call    0044354C
0051E881   .8B55 D4       mov   edx,                   ;(ASCII "112345678345678902345678945678901")
0051E884   .B8 10165900   mov   eax, 00591610
0051E889   .E8 A25BEEFF   call    00404430
0051E88E   .8D45 E0       lea   eax,
0051E891   .50            push    eax
0051E892   .B9 08000000   mov   ecx, 8
0051E897   .BA 12000000   mov   edx, 12
0051E89C   .A1 10165900   mov   eax,
0051E8A1   .E8 220FF2FF   call    0043F7C8
0051E8A6   .A1 EC155900   mov   eax,
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,
0051E8BF   .E8 5C4CF2FF   call    00443520
0051E8C4   .BA 88EB5100   mov   edx, 0051EB88
0051E8C9   .8B45 F8       mov   eax,
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,
0051E8E8   .BA 01000000   mov   edx, 1
0051E8ED   .A1 10165900   mov   eax,
0051E8F2   .E8 DD0DF2FF   call    0043F6D4
0051E8F7   .8B55 D0       mov   edx,
0051E8FA   .B8 00165900   mov   eax, 00591600
0051E8FF   .E8 2C5BEEFF   call    00404430
0051E904   .A1 00165900   mov   eax,
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,
0051E91F   .E8 FC4BF2FF   call    00443520
0051E924   .BA 88EB5100   mov   edx, 0051EB88
0051E929   .8B45 F8       mov   eax,
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,
0051E948   .50            push    eax
0051E949   .B9 0A000000   mov   ecx, 0A
0051E94E   .BA 01000000   mov   edx, 1
0051E953   .A1 10165900   mov   eax,
0051E958   .E8 6B0EF2FF   call    0043F7C8
0051E95D   .A1 10165900   mov   eax,
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,
0051E976   .E8 A54BF2FF   call    00443520
0051E97B   .BA 88EB5100   mov   edx, 0051EB88
0051E980   .8B45 F8       mov   eax,
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,
0051E99F   .50            push    eax
0051E9A0   .B9 0A000000   mov   ecx, 0A
0051E9A5   .BA 18000000   mov   edx, 18
0051E9AA   .A1 10165900   mov   eax,
0051E9AF   .E8 140EF2FF   call    0043F7C8
0051E9B4   .6A 00         push    0                              ; /pFileSystemNameSize = NULL
0051E9B6   .6A 00         push    0                              ; |pFileSystemNameBuffer = NULL
0051E9B8   .8D45 EC       lea   eax,                   ; |
0051E9BB   .50            push    eax                              ; |pFileSystemFlags
0051E9BC   .8D45 F0       lea   eax,                   ; |
0051E9BF   .50            push    eax                              ; |pMaxFilenameLength
0051E9C0   .8D45 F4       lea   eax,                      ; |
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,
0051E9D5   .50            push    eax
0051E9D6   .B9 08000000   mov   ecx, 8
0051E9DB   .BA 0A000000   mov   edx, 0A
0051E9E0   .A1 10165900   mov   eax,
0051E9E5   .E8 DE0DF2FF   call    0043F7C8
0051E9EA   .68 A4EB5100   push    0051EBA4                         ;ASCII "AB1"
0051E9EF   .FF35 10165900 push    dword ptr                ;(ASCII "112345678345678902345678945678901")
0051E9F5   .68 B0EB5100   push    0051EBB0                         ;ASCII "D89"
0051E9FA   .8D45 C8       lea   eax,
0051E9FD   .BA 03000000   mov   edx, 3
0051EA02   .E8 555DEEFF   call    0040475C
0051EA07   .8B45 C8       mov   eax,                   ;(ASCII "AB1112345678345678902345678945678901D89")
0051EA0A   .8D55 CC       lea   edx,
0051EA0D   .E8 4AFAFFFF   call    0051E45C
0051EA12   .8B55 CC       mov   edx,                   ;第四个8位注册码,经验证任意即可(ASCII "21560869")
0051EA15   .8B45 DC       mov   eax,                   ;后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
0051EA2A   .68 C8EB5100   push    0051EBC8                         ;ASCII "15984250"
0051EA2F   .8D45 C0       lea   eax,
0051EA32   .BA 03000000   mov   edx, 3
0051EA37   .E8 205DEEFF   call    0040475C
0051EA3C   .8B45 C0       mov   eax,
0051EA3F   .8D55 C4       lea   edx,
0051EA42   .E8 95F8FFFF   call    0051E2DC
0051EA47   .8B55 C4       mov   edx,
0051EA4A   .8B45 E8       mov   eax,
0051EA4D   .E8 965DEEFF   call    004047E8
0051EA52   .75 07         jnz   short 0051EA5B
0051EA54   .C605 08165900>mov   byte ptr , 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,
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,                   ; |
0051EA78   .B8 08000000   mov   eax, 8                           ; |
0051EA7D   .E8 32A9EEFF   call    004093B4                         ; \小学数学.004093B4
0051EA82   .8B55 BC       mov   edx,                   ;硬件号(ASCII "E01DCF36")
0051EA85   .B8 10165900   mov   eax, 00591610
0051EA8A   .E8 A159EEFF   call    00404430
0051EA8F   .8D55 B8       lea   edx,
0051EA92   .A1 10165900   mov   eax,
0051EA97   .E8 40F8FFFF   call    0051E2DC
0051EA9C   .8B55 B8       mov   edx,                   ;(ASCII "13935563")
0051EA9F   .8B45 E4       mov   eax,                   ;第三个8位 (ASCII "34567890")
0051EAA2   .E8 415DEEFF   call    004047E8                         ;第三个8位注册码注册器·[EDX]
0051EAA7      75 5D         jnz   short 0051EB06
0051EAA9   .8D55 B4       lea   edx,
0051EAAC   .A1 10165900   mov   eax,
0051EAB1   .E8 1EF7FFFF   call    0051E1D4
0051EAB6   .8B55 B4       mov   edx,                   ;   (ASCII "29117412")
0051EAB9   .8B45 E0       mov   eax,                   ;(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
0051EACE   .68 0CEC5100   push    0051EC0C                         ;\->: 〗
0051EAD3   .8D45 B0       lea   eax,
0051EAD6   .BA 03000000   mov   edx, 3
0051EADB   .E8 7C5CEEFF   call    0040475C
0051EAE0   .8B55 B0       mov   edx,
0051EAE3   .8B45 FC       mov   eax,
0051EAE6   .8B80 FC020000 mov   eax,
0051EAEC   .E8 CB64F4FF   call    00464FBC
0051EAF1   .C605 E4145900>mov   byte ptr , 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:, edx
0051EB18   .68 2DEB5100   push    0051EB2D
0051EB1D   >8B45 F8       mov   eax,
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:, edx
0051EB35   .68 4FEB5100   push    0051EB4F
0051EB3A   >8D45 B0       lea   eax,
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,一、四框内任意。注册时按顺序进行。切记!!!


注册信息保存处:



"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/viewthread.php?tid=9589&extra=page%3D1

yunfeng 发表于 2006-11-19 18:33:29

这么好的文章怎么就没有人来顶,我来支持一下。

yzslly 发表于 2006-11-20 11:40:23

支持一下!!

ZHOU2X 发表于 2006-11-20 19:00:59

学习,收藏!!支持!!!!

傲月游居 发表于 2006-11-20 19:20:45

学习,收藏。努力学习算法中!
页: [1]
查看完整版本: 小学数学伴侣 4.8解码分析