【破解日期】 2006年5月14日(祝天下的母亲节日快乐)
【破解作者】 冷血书生
【作者邮箱】 没有
【作者主页】 没有
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 Digital 3D Screensaver V1.14
【下载地址】 http://www.3d-screen-savers.com/
【软件简介】 您的屏幕保护程序养过热带鱼吗?当过备忘录、小小游戏平台吗?无论如何,现在又有了新的玩意儿,它是数码立体屏幕保护程序 - Digital 3D Screensaver,带领您闯进 3 度空间,遨游虚拟世界,再配上悦耳的背景音乐,很摩登喔!功能选项有 FPS 限制、设定密码保护...等等。 

【软件大小】 1652 K
【加壳方式】 无壳
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


004019B1    8A08             mov cl,byte ptr ds:[eax]                         ; 取用户名
004019B3    880C02           mov byte ptr ds:[edx+eax],cl                     ; 转移
004019B6    40               inc eax
004019B7    84C9             test cl,cl
004019B9  ^ 75 F6            jnz short Config.004019B1
004019BB    8B43 74          mov eax,dword ptr ds:[ebx+74]
004019BE    8D5424 0C        lea edx,dword ptr ss:[esp+C]
004019C2    2BD0             sub edx,eax
004019C4    8A08             mov cl,byte ptr ds:[eax]                         ; 取注册码
004019C6    880C02           mov byte ptr ds:[edx+eax],cl
004019C9    40               inc eax
004019CA    84C9             test cl,cl
004019CC  ^ 75 F6            jnz short Config.004019C4
004019CE    8D8424 0C010000  lea eax,dword ptr ss:[esp+10C]
004019D5    8D50 01          lea edx,dword ptr ds:[eax+1]                     ; 取第二位
004019D8    8A08             mov cl,byte ptr ds:[eax]                         ; 取用户名
004019DA    40               inc eax
004019DB    84C9             test cl,cl
004019DD  ^ 75 F9            jnz short Config.004019D8
004019DF    2BC2             sub eax,edx
004019E1    40               inc eax
004019E2    50               push eax
004019E3    8D8424 10010000  lea eax,dword ptr ss:[esp+110]
004019EA    50               push eax
004019EB    6A 01            push 1
004019ED    68 3C974200      push Config.0042973C                             ; ASCII "RegName"
004019F2    68 B8504300      push Config.004350B8                             ; ASCII "Software\DiVision Software\Digital 3D Screensaver"
004019F7    68 01000080      push 80000001
004019FC    E8 1FFCFFFF      call Config.00401620
00401A01    8BF8             mov edi,eax
00401A03    8D4424 24        lea eax,dword ptr ss:[esp+24]
00401A07    83C4 18          add esp,18
00401A0A    8D48 01          lea ecx,dword ptr ds:[eax+1]
00401A0D    8D49 00          lea ecx,dword ptr ds:[ecx]
00401A10    8A10             mov dl,byte ptr ds:[eax]                         ; 取注册码
00401A12    40               inc eax
00401A13    84D2             test dl,dl
00401A15  ^ 75 F9            jnz short Config.00401A10
00401A17    2BC1             sub eax,ecx
00401A19    40               inc eax
00401A1A    50               push eax
00401A1B    8D4C24 10        lea ecx,dword ptr ss:[esp+10]
00401A1F    51               push ecx
00401A20    6A 01            push 1
00401A22    68 34974200      push Config.00429734                             ; ASCII "RegCode"
00401A27    68 B8504300      push Config.004350B8                             ; ASCII "Software\DiVision Software\Digital 3D Screensaver"
00401A2C    68 01000080      push 80000001
00401A31    E8 EAFBFFFF      call Config.00401620
00401A36    8D5424 24        lea edx,dword ptr ss:[esp+24]
00401A3A    8BF0             mov esi,eax
00401A3C    52               push edx
00401A3D    8D8424 28010000  lea eax,dword ptr ss:[esp+128]
00401A44    50               push eax
00401A45    E8 B6F5FFFF      call Config.00401000                             ; 算法CALL
00401A4A    83C4 20          add esp,20
00401A4D    85C0             test eax,eax
00401A4F    74 24            je short Config.00401A75                         ; 爆破点
00401A51    85FF             test edi,edi
00401A53    74 12            je short Config.00401A67
00401A55    85F6             test esi,esi
00401A57    74 0E            je short Config.00401A67
00401A59    6A 30            push 30
00401A5B    68 1C9A4200      push Config.00429A1C                             ; ASCII "Registration"
00401A60    68 F4994200      push Config.004299F4                             ; ASCII "Thank you for purchasing our product."
00401A65    EB 1A            jmp short Config.00401A81
00401A67    6A 30            push 30
00401A69    68 EC994200      push Config.004299EC                             ; ASCII "Error"
00401A6E    68 C0994200      push Config.004299C0                             ; ASCII "Application corrupted. Please reinstall."
00401A73    EB 0C            jmp short Config.00401A81
00401A75    6A 40            push 40
00401A77    68 1C9A4200      push Config.00429A1C                             ; ASCII "Registration"
00401A7C    68 94994200      push Config.00429994                             ; ASCII "The registration information is incorrect."
00401A81    8BCB             mov ecx,ebx


///////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// 跟进算法CALL  ////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////


00401010    8A08             mov cl,byte ptr ds:[eax]                         ; 取用户名
00401012    40               inc eax
00401013    84C9             test cl,cl
00401015  ^ 75 F9            jnz short Config.00401010
00401017    2BC2             sub eax,edx
00401019    66:0FB6F0        movzx si,al                                      ; 长度转移
0040101D    55               push ebp
0040101E    897424 14        mov dword ptr ss:[esp+14],esi
00401022    E8 88CC0000      call Config.0040DCAF                             ; 用户名小写转大写
00401027    83C4 04          add esp,4
0040102A    66:85F6          test si,si
0040102D    76 16            jbe short Config.00401045
0040102F    8BCD             mov ecx,ebp
00401031    0FB7D6           movzx edx,si                                     ; 长度再转移
00401034    8A01             mov al,byte ptr ds:[ecx]                         ; 取用户名
00401036    3C 41            cmp al,41                                        ; 与41比较
00401038    7C 04            jl short Config.0040103E
0040103A    3C 5A            cmp al,5A                                        ; 与5A比较
0040103C    7E 03            jle short Config.00401041
0040103E    C601 58          mov byte ptr ds:[ecx],58
00401041    41               inc ecx
00401042    4A               dec edx
00401043  ^ 75 EF            jnz short Config.00401034
00401045    8B5C24 1C        mov ebx,dword ptr ss:[esp+1C]
00401049    33FF             xor edi,edi
0040104B    33F6             xor esi,esi
0040104D    EB 04            jmp short Config.00401053
0040104F    8B6C24 18        mov ebp,dword ptr ss:[esp+18]
00401053    0FB7D7           movzx edx,di
00401056    0FBE2C2A         movsx ebp,byte ptr ds:[edx+ebp]                  ; 取用户名
0040105A    0FB7CE           movzx ecx,si
0040105D    0FBE0419         movsx eax,byte ptr ds:[ecx+ebx]                  ; 取注册码
00401061    2BC5             sub eax,ebp                                      ; 注册码-用户名
00401063    79 03            jns short Config.00401068                        ; 符号位为 "0" 时转移
00401065    83C0 1A          add eax,1A                                       ; 结果+1A
00401068    0FBE89 A0504300  movsx ecx,byte ptr ds:[ecx+4350A0]
0040106F    83E9 41          sub ecx,41                                       ; 固定字符串-41
00401072    3BC8             cmp ecx,eax                                      ; 两者结果比较,总共比较16次
00401074    75 21            jnz short Config.00401097                        ; 有一次不相等就注册失败,核心爆破点
00401076    0FB74424 10      movzx eax,word ptr ss:[esp+10]
0040107B    48               dec eax
0040107C    3BD0             cmp edx,eax
0040107E    75 04            jnz short Config.00401084
00401080    33FF             xor edi,edi
00401082    EB 01            jmp short Config.00401085
00401084    47               inc edi
00401085    46               inc esi
00401086    66:83FE 10       cmp si,10
0040108A  ^ 72 C3            jb short Config.0040104F
0040108C    5F               pop edi
0040108D    5E               pop esi
0040108E    5D               pop ebp
0040108F    B8 01000000      mov eax,1               /// 注册成功标志
00401094    5B               pop ebx
00401095    59               pop ecx
00401096    C3               retn

///////////////////////////////////////////////////////////////////////////////////////////


算法总结:

由于不懂编程,只好手工了,感觉真的很辛苦,一共计算了几十次(虽然注册码只计算16次),如此菜鸟,不知
道什么时候才追上大侠们,汗啊~~~~


注册码=固定字符串-41 - (1A-用户名)

字符串为    DIVISIONSOFTWARE
其ASCII值为 44 49 56 49 53 49 4F 4E  53 4F 46 54 57 41 52 45  
///////////////////////////////////////////////////////////////////////////////////////////

NAME:lengxue
CODE:53I5PC9?=B2QQ+C/
--------------------------------------------------------------------------------
【破解总结】


没啥好总结的,纯属娱乐~
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!