一個水族箱屏保,破解不完全,誰幫忙看看? (2千字)

看雪資料發表於2001-04-12

軟體下載:http://www.digimindsoft.com/aqua3d.exe
軟體大小:552KB

問題:用找到的註冊碼可以註冊成功,但螢幕保護出來大約10秒鐘後,還是出現“未註冊”提示框,讓按“空格”鍵輸入註冊碼。請高手看看,哪裡有限制?

    Aqua 3D Screen Saver v1.5 註冊碼演算法

使用者名稱:任意
註冊碼格式:xxxx-xxxx-xxxx-xxxx  (共19位,由0-F的數字組成)

一、關鍵程式碼
:0040C0A8 E8A38EFFFF              call 00404F50 ;判斷註冊碼格式及位數是否為13H位,第5位是否為'-'
:0040C0AD 83C414                  add esp, 00000014
:0040C0B0 84C0                    test al, al  ; 若符合xxxx-xxxxxxxxxxxxxx格式,則al=01,
:0040C0B2 0F8493000000            je 0040C14B  ; 不跳
:0040C0B8 8B45E8                  mov eax, dword ptr [ebp-18]  ; ax=1-4位
:0040C0BB 8B55E4                  mov edx, dword ptr [ebp-1C]  ; dx=6-9位
:0040C0BE 8B4DE0                  mov ecx, dword ptr [ebp-20]  ; cx=11-14位
:0040C0C1 057E340000              add eax, 0000347E
:0040C0C6 33C2                    xor eax, edx
:0040C0C8 33C1                    xor eax, ecx
:0040C0CA 35CD540000              xor eax, 000054CD
:0040C0CF 663945EE                cmp word ptr [ebp-12], ax    ; [ebp-12]=16-19位
:0040C0D3 7576                    jne 0040C14B                  ; 相等即可註冊成功
:0040C0D5 A1F0454400              mov eax, dword ptr [004445F0]
:0040C0DA 8945E8                  mov dword ptr [ebp-18], eax
:0040C0DD 8945EC                  mov dword ptr [ebp-14], eax

* Possible Reference to String Resource ID=59145: "Registration"
                                  |
:0040C0E0 6809E70000              push 0000E709
:0040C0E5 8D4DE8                  lea ecx, dword ptr [ebp-18]
:0040C0E8 C645FC02                mov [ebp-04], 02
:0040C0EC E8540A0200              call 0042CB45

* Possible Reference to String Resource ID=59147: "Thanks for support!"
                                  |
:0040C0F1 680BE70000              push 0000E70B
:0040C0F6 8D4DEC                  lea ecx, dword ptr [ebp-14]
:0040C0F9 E8470A0200              call 0042CB45
:0040C0FE 85F6                    test esi, esi
:0040C100 7504                    jne 0040C106
:0040C102 33C0                    xor eax, eax
:0040C104 EB03                    jmp 0040C109


二、判斷註冊碼是否為13H(19)位
:00404FB3 83F913                  cmp ecx, 00000013
:00404FB6 7425                    je 00404FDD

三、判斷註冊碼第5位是否為'-'號
:00404FDD 807E042D                cmp byte ptr [esi+04], 2D
:00404FE1 7425                    je 00405008

四、註冊碼演算法

(((1-4位 + 347E) xor (6-9位)) xor (11-14位)) xor 54CD ==16-19位

五、一組可用的註冊碼
User name: 任意
Reg. Code: 1111-1111-1111-1142

六、註冊資訊儲存在登錄檔中
[HKEY_USERS\.DEFAULT\Software\Digital Minds Software\AQUA3D\Aqua3D]
"UserName"="abcdef"
"RegCode"="1111-1111-1111-1142"

相關文章