簡單演算法――AKoff Music Composer V2.0

看雪資料發表於2003-03-07

簡單演算法――AKoff Music Composer V2.0  


下載頁面:  http://www.skycn.com/soft/1869.html
軟體大小:  255 KB
軟體語言:  英文
軟體類別:  國外軟體 / 共享版 / 音訊轉換
應用平臺:  Win9x/NT/2000/XP
加入時間:  2002-07-01 14:36:00
下載次數:  6806
推薦等級:  ****

【軟體簡介】:小巧的音樂轉換處理軟體。集 MIDI 播放及軌跡檢視、WAVE->MIDI轉換等功能於一身的迷你軟體。有了它,您就可以輕鬆地獲取來至麥克風、線形輸入或音訊 CD 等各種音源的音訊資料資訊,予以分析識別和轉換,而不需要外接任何 DLL(動態連結庫)檔案。

【軟體限制】:功能限制、30天試用

【作者宣告】:初學Crack,只是感興趣,沒有其它目的。失誤之處敬請諸位大俠賜教!

【破解工具】:TRW2000娃娃修改版、FI2.5、W32Dasm8.93黃金版

―――――――――――――――――――――――――――――――――
【過    程】:


Composer.exe 無殼,C++ 編寫。反彙編吧,查詢關鍵提示。

Your E-mail: fly@263.net
試  煉  碼 : 135726489012

―――――――――――――――――――――――――――――――――
:0040436B E8CA980100              Call 0041DC3A
:00404370 E8DBF6FFFF              call 00403A50
                                 ====>關鍵CALL!F8進入!

:00404375 833DC8EC410000          cmp dword ptr [0041ECC8], 00000000
                                 ====> [0041ECC8]應是註冊標誌位了。
                          搜尋了一下,卻發現關鍵部分正好在上面的CALL裡。

:0040437C 7450                    je 004043CE
                                 ====>跳則OVER!

:0040437E 33C0                    xor eax, eax
:00404380 83C9FF                  or ecx, FFFFFFFF

* Possible Reference to Dialog:  
                                 |
:00404383 BF81E14100              mov edi, 0041E181
:00404388 8DB5F0FEFFFF            lea esi, dword ptr [ebp+FFFFFEF0]
:0040438E F2                      repnz
:0040438F AE                      scasb
:00404390 F7D1                    not ecx
:00404392 2BF9                    sub edi, ecx
:00404394 8BD1                    mov edx, ecx
:00404396 87F7                    xchg edi, esi
:00404398 C1E902                  shr ecx, 02
:0040439B 8BC7                    mov eax, edi
:0040439D F3                      repz
:0040439E A5                      movsd
:0040439F 8BCA                    mov ecx, edx
:004043A1 8D85F0FEFFFF            lea eax, dword ptr [ebp+FFFFFEF0]
:004043A7 83E103                  and ecx, 00000003
:004043AA F3                      repz
:004043AB A4                      movsb

* Possible StringData Ref from Data Obj ->" - Registered"
                                 ====>呵呵,勝利女神!

:004043AC 6868F84100              push 0041F868
:004043B1 50                      push eax
:004043B2 E875160100              call 00415A2C
:004043B7 83C408                  add esp, 00000008
:004043BA 50                      push eax
:004043BB 8B158CE24100            mov edx, dword ptr [0041E28C]
:004043C1 52                      push edx

* Reference To: USER32.SetWindowTextA, Ord:0000h
                                 |
:004043C2 E81B990100              Call 0041DCE2
:004043C7 E8A0FAFFFF              call 00403E6C
:004043CC EB12                    jmp 004043E0

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040437C(C)
|
:004043CE 6A30                    push 00000030

* Possible Reference to Dialog:  
                                 |
:004043D0 6890F84100              push 0041F890

* Possible StringData Ref from Data Obj ->"Not valid Code or E-mail."
                                 ====>BAD BOY!
                                 
:004043D5 6876F84100              push 0041F876
:004043DA 53                      push ebx

* Reference To: USER32.MessageBoxA, Ord:0000h
                                 |
:004043DB E8A8980100              Call 0041DC88


―――――――――――――――――――――――――――――――――
F8進入 404370  call 00403A50


* Referenced by a CALL at Addresses:
|:004011F7   , :00404370  
|
:00403A50 56                      push esi
:00403A51 57                      push edi
:00403A52 83C4EC                  add esp, FFFFFFEC

* Possible Reference to Dialog:  
                                 |
:00403A55 B8CBF64100              mov eax, 0041F6CB
:00403A5A BAC1EB4100              mov edx, 0041EBC1

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403A79(C)
|
:00403A5F 8A08                    mov cl, byte ptr [eax]
:00403A61 3A0A                    cmp cl, byte ptr [edx]
:00403A63 7516                    jne 00403A7B
:00403A65 84C9                    test cl, cl
:00403A67 743C                    je 00403AA5
:00403A69 8A4801                  mov cl, byte ptr [eax+01]
:00403A6C 3A4A01                  cmp cl, byte ptr [edx+01]
:00403A6F 750A                    jne 00403A7B
:00403A71 83C002                  add eax, 00000002
:00403A74 83C202                  add edx, 00000002
:00403A77 84C9                    test cl, cl
:00403A79 75E4                    jne 00403A5F

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403A63(C), :00403A6F(C)
|
:00403A7B 7428                    je 00403AA5

* Possible StringData Ref from Data Obj ->"鐿溧痤?
                                 |
:00403A7D B8D3F64100              mov eax, 0041F6D3
:00403A82 BABCEA4100              mov edx, 0041EABC

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403AA1(C)
|
:00403A87 8A08                    mov cl, byte ptr [eax]
:00403A89 3A0A                    cmp cl, byte ptr [edx]
:00403A8B 7524                    jne 00403AB1
:00403A8D 84C9                    test cl, cl
:00403A8F 7412                    je 00403AA3
:00403A91 8A4801                  mov cl, byte ptr [eax+01]
:00403A94 3A4A01                  cmp cl, byte ptr [edx+01]
:00403A97 7518                    jne 00403AB1
:00403A99 83C002                  add eax, 00000002
:00403A9C 83C202                  add edx, 00000002
:00403A9F 84C9                    test cl, cl
:00403AA1 75E4                    jne 00403A87

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403A8F(C)
|
:00403AA3 750C                    jne 00403AB1

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403A67(C), :00403A7B(C)
|

* Possible Reference to String Resource ID=00001: "AKoff Music Composer - Version 2.0"
                                 |
:00403AA5 C705C8EC410001000000    mov dword ptr [0041ECC8], 00000001
:00403AAF EB72                    jmp 00403B23

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403A8B(C), :00403A97(C), :00403AA3(C)
|
:00403AB1 BE75F14100              mov esi, 0041F175
:00403AB6 8BFC                    mov edi, esp

* Possible Reference to String Resource ID=00005: "Pan"
                                 |
:00403AB8 B905000000              mov ecx, 00000005
:00403ABD F3                      repz
:00403ABE A5                      movsd
:00403ABF 54                      push esp
:00403AC0 E8EBFDFFFF              call 004038B0
                                 ====>演算法CALL!F8進入!

:00403AC5 59                      pop ecx
:00403AC6 54                      push esp
:00403AC7 E8F01F0100              call 00415ABC
                                 ====>取註冊碼位數

:00403ACC 59                      pop ecx
:00403ACD 83F80C                  cmp eax, 0000000C
                                 ====>是否12位?

:00403AD0 7510                    jne 00403AE2

* Possible Reference to Dialog:  
                                 |
:00403AD2 68C1EB4100              push 0041EBC1
:00403AD7 E8E01F0100              call 00415ABC
                                 ====>取試煉碼位數

:00403ADC 59                      pop ecx
:00403ADD 83F80C                  cmp eax, 0000000C
                                 ====>是否12位?

:00403AE0 7409                    je 00403AEB

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403AD0(C)
|
:00403AE2 33C0                    xor eax, eax
:00403AE4 A3C8EC4100              mov dword ptr [0041ECC8], eax
:00403AE9 EB38                    jmp 00403B23

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403AE0(C)
|
:00403AEB 8BC4                    mov eax, esp
                                 ====>註冊碼 入 EAX

* Possible Reference to Dialog:  
                                 
:00403AED BAC1EB4100              mov edx, 0041EBC1
                                 ====>試煉碼 入 EDX

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403B0C(C)
                                 ====>逐位比較了!

:00403AF2 8A08                    mov cl, byte ptr [eax]
:00403AF4 3A0A                    cmp cl, byte ptr [edx]
:00403AF6 7524                    jne 00403B1C
:00403AF8 84C9                    test cl, cl
:00403AFA 7412                    je 00403B0E
:00403AFC 8A4801                  mov cl, byte ptr [eax+01]
:00403AFF 3A4A01                  cmp cl, byte ptr [edx+01]
:00403B02 7518                    jne 00403B1C
:00403B04 83C002                  add eax, 00000002
:00403B07 83C202                  add edx, 00000002
:00403B0A 84C9                    test cl, cl
:00403B0C 75E4                    jne 00403AF2

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403AFA(C)
|
:00403B0E 750C                    jne 00403B1C

* Possible Reference to String Resource ID=00001: "AKoff Music Composer - Version 2.0"
                                 |
:00403B10 C705C8EC410001000000    mov dword ptr [0041ECC8], 00000001
                                 ====>註冊標誌位  置1 !    OK!

:00403B1A EB07                    jmp 00403B23

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403AF6(C), :00403B02(C), :00403B0E(C)
|
:00403B1C 33C0                    xor eax, eax
                                 ====>EAX 清零

:00403B1E A3C8EC4100              mov dword ptr [0041ECC8], eax
                                 ====>註冊標誌位  置0 !    OVER!

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403AAF(U), :00403AE9(U), :00403B1A(U)
|
:00403B23 83C414                  add esp, 00000014
:00403B26 5F                      pop edi
:00403B27 5E                      pop esi
:00403B28 C3                      ret

―――――――――――――――――――――――――――――――――

F8進入演算法CALL:403AC0   call 004038B0


* Referenced by a CALL at Addresses:
|:00403AC0   , :0040427D  
|
:004038B0 55                      push ebp
:004038B1 8BEC                    mov ebp, esp
:004038B3 83C4E8                  add esp, FFFFFFE8
:004038B6 53                      push ebx
:004038B7 56                      push esi
:004038B8 57                      push edi
:004038B9 33FF                    xor edi, edi
:004038BB 68BCEA4100              push 0041EABC
                                 ====>fly@263.net

:004038C0 E8F7210100              call 00415ABC
                                 ====>取E-mail的長度,檢測其格式

:004038C5 59                      pop ecx
:004038C6 83F805                  cmp eax, 00000005
                                 ====>EAX=11

:004038C9 730B                    jnb 004038D6
                                 ====>不能少於5位!

:004038CB 8B4508                  mov eax, dword ptr [ebp+08]
:004038CE C60000                  mov byte ptr [eax], 00
:004038D1 E99E000000              jmp 00403974

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004038C9(C)
|
:004038D6 33DB                    xor ebx, ebx

* Possible Reference to Dialog:  
                                 |
:004038D8 BEBCEA4100              mov esi, 0041EABC
                                 ====>ESI=fly@263.net

:004038DD EB07                    jmp 004038E6

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004038F3(C)
|
:004038DF 0FBE06                  movsx eax, byte ptr [esi]
                                 ====>依次取fly@263.net字元的HEX值
                              1、====>EAX=66
                              2、====>EAX=6C
                              3、====>EAX=79
                        …… ……  省  略  …… ……
                             11、====>EAX=74

:004038E2 03F8                    add edi, eax
                                 ====>累加!
                              1、====>EDI=00+66=66
                              2、====>EDI=66+6C=D2
                              3、====>EDI=D2+79=14B
                        …… ……  省  略  …… ……
                             11、====>EDI=327+74=39B


:004038E4 43                      inc ebx
                                 ====>依次增1

:004038E5 46                      inc esi

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004038DD(U)
|
:004038E6 68BCEA4100              push 0041EABC
:004038EB E8CC210100              call 00415ABC
:004038F0 59                      pop ecx
:004038F1 3BD8                    cmp ebx, eax
                                 ====>共迴圈E-mail的位數11次
:004038F3 7CEA                    jl 004038DF
                                 ====>取完了嗎?繼續迴圈!

:004038F5 B97B000000              mov ecx, 0000007B
                                 ====>7B 入 ECX

:004038FA 8BC7                    mov eax, edi
                                 ====>EAX=EDI=39B

:004038FC 99                      cdq
:004038FD F7F9                    idiv ecx
                                 ====>EAX=39B % 7B=餘數:3E

:004038FF 89D7                    mov edi, edx
                                 ====>3E 入 EDI

:00403901 33DB                    xor ebx, ebx
:00403903 8D45E8                  lea eax, dword ptr [ebp-18]

* Possible Reference to Dialog:  
                                 |
:00403906 BABCEA4100              mov edx, 0041EABC
                                 ====>EDX=fly@263.net

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403926(C)
|
:0040390B 0FBE0A                  movsx ecx, byte ptr [edx]
                                 ====>依次取fly@263.net前5位字元的HEX值
                              1、====>ECX=66
                              2、====>ECX=6C
                              3、====>ECX=79
                              4、====>ECX=40
                              5、====>ECX=32

:0040390E 03CF                    add ecx, edi
                              1、====>EDI=66+3E=A4
                              2、====>EDI=6C+3E=AA
                              3、====>EDI=79+3E=B7
                              4、====>EDI=40+3E=7E
                              5、====>EDI=32+3E=70

:00403910 8908                    mov dword ptr [eax], ecx
                                 ====>結果依次存入 [EAX] 處

:00403912 81F9FF000000            cmp ecx, 000000FF
                                 ====>結果大於FF?

:00403918 7E04                    jle 0040391E
                                 ====>結果不大於FF就跳。

:0040391A 33C9                    xor ecx, ecx
                                 ====>否則 ECX 清零

:0040391C 8908                    mov dword ptr [eax], ecx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403918(C)
|
:0040391E 43                      inc ebx
:0040391F 83C004                  add eax, 00000004
:00403922 42                      inc edx
:00403923 83FB05                  cmp ebx, 00000005
                                 ====>取前5位

:00403926 7CE3                    jl 0040390B
                                 ====>繼續迴圈

:00403928 897DFC                  mov dword ptr [ebp-04], edi
:0040392B 33DB                    xor ebx, ebx
:0040392D 8B4508                  mov eax, dword ptr [ebp+08]
:00403930 8BD0                    mov edx, eax
:00403932 8D45E8                  lea eax, dword ptr [ebp-18]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040396B(C)
|
:00403935 8B08                    mov ecx, dword ptr [eax]
                              1、====>ECX=A4
                              2、====>ECX=AA
                              3、====>ECX=B7
                              4、====>ECX=7E
                              5、====>ECX=70
                              6、====>ECX=3E

:00403937 85C9                    test ecx, ecx
:00403939 7903                    jns 0040393E
:0040393B 83C10F                  add ecx, 0000000F

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403939(C)
|
:0040393E C1F904                  sar ecx, 04
  (同0040394B處分別取前、後位) ====>算術右移4次!
                              1、====>ECX=A
                              2、====>ECX=A
                              3、====>ECX=B
                              4、====>ECX=7
                              5、====>ECX=7
                              6、====>ECX=3

:00403941 8A8964F14100            mov cl, byte ptr [ecx+0041F164]
                                 ====>從 [ecx+0041F164] 處查表!
                              1、====>CL=1
                              2、====>CL=1
                              3、====>CL=P
                              4、====>CL=G
                              5、====>CL=G
                              6、====>CL=A

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[0041F164]處的表值!


0041F164  4B 33 35 41 37 43 32 47 30 34 31 50 39 36 44 38  K35A7C2G041P96D8

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


:00403947 880A                    mov byte ptr [edx], cl
                                 ====>結果儲存 [EDX] 處

:00403949 8B08                    mov ecx, dword ptr [eax]
                            1-1、====>ECX=A4
                            2-2、====>ECX=AA
                            3-3、====>ECX=B7
                            4-4、====>ECX=7E
                            5-5、====>ECX=70
                            6-6、====>ECX=3E

:0040394B 81E10F000080            and ecx, 8000000F
                                 ====>分別和8000000F進行“與”運算!
                            1-1、====>ECX=4
                            2-2、====>ECX=A
                            3-3、====>ECX=7
                            4-4、====>ECX=E
                            5-5、====>ECX=0
                            6-6、====>ECX=E

:00403951 7905                    jns 00403958
:00403953 49                      dec ecx
:00403954 83C9F0                  or ecx, FFFFFFF0
:00403957 41                      inc ecx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403951(C)
|
:00403958 8A8964F14100            mov cl, byte ptr [ecx+0041F164]
                                 ====>從 [ecx+0041F164] 處查表!
                            1-1、====>CL=7
                            2-2、====>CL=1
                            3-3、====>CL=G
                            4-4、====>CL=D
                            5-5、====>CL=K
                            6-6、====>CL=D

:0040395E 884A01                  mov byte ptr [edx+01], cl
                                 ====>結果儲存 [EDX+01] 處

:00403961 43                      inc ebx
:00403962 83C202                  add edx, 00000002
:00403965 83C004                  add eax, 00000004
:00403968 83FB06                  cmp ebx, 00000006
                                 ====>迴圈6次
:0040396B 7CC8                    jl 00403935
                                 ====>繼續迴圈?

:0040396D 8B4508                  mov eax, dword ptr [ebp+08]
                                 ====>上面迴圈所得的結果入 EAX
                                 ====>EAX=1711PGGDGKAD  呵呵,這就是真碼了!

:00403970 C6400C00                mov [eax+0C], 00

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004038D1(U)
|
:00403974 5F                      pop edi
:00403975 5E                      pop esi
:00403976 5B                      pop ebx
:00403977 8BE5                    mov esp, ebp
:00403979 5D                      pop ebp
:0040397A C3                      ret

―――――――――――――――――――――――――――――――――
【KeyMake之記憶體序號產生器】:


中斷地址:404370
中斷次數:1
第一位元組:E8
指令長度:5

中斷地址:403AC5
中斷次數:1
第一位元組:59
指令長度:1


記憶體方式:EAX              

―――――――――――――――――――――――――――――――――
【註冊資訊儲存】:


REGEDIT4

[HKEY_LOCAL_MACHINE\Software\AKoff\Composer]

"UserMail"="fly@263.net"
"KeyCode"="1711PGGDGKAD"

―――――――――――――――――――――――――――――――――
【整        理】:


Your E-mail: fly@263.net
Your   Code: 1711PGGDGKAD

―――――――――――――――――――――――――――――――――


   
                   Cracked By 巢水工作坊――fly【OCN】

                              2:58 03-3-7

相關文章