spc_cll 发表于 2006-4-3 23:11:48

MIDI创作编辑Sweet Sixteen MIDI Sequencer 3.30

软件名称:Sweet Sixteen MIDI Sequencer 3.30
软件大小:433KB
软件语言:英文
软件类别:国外软件/共享版/MIDI工具
运行环境:Win9x/Me/NT/2000/XP
下载地址:
Sweet Sixteen MIDI Sequencer 3.30软件介绍
Sweet Sixteen MIDI Sequencer 是一个可以广泛应用且功能强大的 MIDI 音乐创作编辑程序,支持 PC/Windows 及 Atari ST/STE 计算机,提供您专业的合成功能,还可以播放 24 + 24 的音轨。
==================================================
运行程序,要求注册,随便输入一个注册码时显示:"Not a valid password!"
用OD加载后搜索该字符串,可找到如下程序。
============
00430BAC   > \6A 1E   push    1E                            ; /Count = 1E (30.); Case 1 of switch 00430B50
00430BAE   .68 4823>push    00472348                      ; |Buffer = Sweet_32.00472348
00430BB3   .6A 64   push    64                            ; |ControlID = 64 (100.)
00430BB5   .53      push    ebx                           ; |hWnd
00430BB6   .FF15 4C>call    [<&USER32.GetDlgItemTextA>]   ; \GetDlgItemTextA//获取输入的SN
00430BBC   .E8 9FFE>call    00430A60                //关键调用
===>>
00430A60/$83EC 54 sub   esp, 54
00430A63|.A1 34CD>mov   eax,                ;EAX=9D51E743
00430A68|.33C4    xor   eax, esp
00430A6A|.894424 >mov   , eax
00430A6E|.33C0    xor   eax, eax
00430A70|>8A88 E0>/mov   cl,
00430A76|.884C04 >|mov   , cl
00430A7A|.83C0 01 |add   eax, 1
00430A7D|.84C9    |test    cl, cl
00430A7F|.^ 75 EF   \jnz   short 00430A70
00430A81|.8D4C24 >lea   ecx,                ;=Stj0`x:3+<wd
00430A85|.E8 86FF>call    00430A10
=====>
00430A10/$56   push    esi
00430A11|.33F6   xor   esi, esi               ;ESI=i=0
00430A13|.8039 0>cmp   byte ptr , 0      ;=arS="Stj0`x:3+<wd"
00430A16|.74 3Bje      short 00430A53
00430A18|.EB 06jmp   short 00430A20
00430A1A|   8D9B 0>lea   ebx,
00430A20|>B8 565>/mov   eax, 55555556         ;EAX=C1=55555556
00430A25|.F7EE   |imul    esi                     ;EAX=C1*i
00430A27|.8BC2   |mov   eax, edx                ;EAX=EDX=X=HIGH(C1*i)
00430A29|.C1E8 1>|shr   eax, 1F               ;EAX=X SHR 31
00430A2C|.03C2   |add   eax, edx                ;EAX=(X SHR 31)+X
00430A2E|.8D1440 |lea   edx,       ;EDX=((X SHR 31)+X)*3
00430A31|.8BC6   |mov   eax, esi                ;EAX=i
00430A33|.2BC2   |sub   eax, edx                ;EAX=i-((X SHR 31)+X)*3
00430A35|.75 05|jnz   short 00430A3C          ;IF EAX=0 THEN
00430A37|.8001 F>|add   byte ptr , 0FD   ;arS=arS+0xFD
00430A3A|.EB 0C|jmp   short 00430A48          ;else
00430A3C|>83F8 0>|cmp   eax, 1
00430A3F|.75 04|jnz   short 00430A45          ;if eax=1 then
00430A41|.0001   |add   , al               ;arS=arS+1
00430A43|.EB 03|jmp   short 00430A48          ;else
00430A45|>8001 0>|add   byte ptr , 2       ;arS=arS+2
00430A48|>83C1 0>|add   ecx, 1                  ;i=i+1
00430A4B|.83C6 0>|add   esi, 1
00430A4E|.8039 0>|cmp   byte ptr , 0
00430A51|.^ 75 CD\jnz   short 00430A20
00430A53|>5E   pop   esi
00430A54\.C3   retn
0012F5EC50 75 6C 2D 61 7A 37 34 2D 39 78 66            Pul-az74-9xf
<<====
00430A8A|.8D4424 >lea   eax,                ;=sn
00430A8E|.50      push    eax
00430A8F|.B9 C042>mov   ecx, 004742C0
00430A94|.E8 07F4>call    0043FEA0
00430A99|.50      push    eax
00430A9A|.B9 C042>mov   ecx, 004742C0
00430A9F|.E8 ECF5>call    00440090
00430AA4|.6A 10   push    10
00430AA6|.8D4C24 >lea   ecx,
00430AAA|.51      push    ecx
00430AAB|.50      push    eax
00430AAC|.E8 5F91>call    00449C10
00430AB1|.83C4 0C add   esp, 0C
00430AB4|.8D1424lea   edx,
00430AB7|.52      push    edx                           ; /StringOrChar
00430AB8|.FF15 60>call    [<&USER32.CharUpperA>]      ; \CharUpperA
00430ABE|.8D4424 >lea   eax,
00430AC2|.50      push    eax                                //SN
00430AC3|.68 4823>push    00472348                      ;ASCII "Pul-az74-9xf"
00430AC8|.B9 C042>mov   ecx, 004742C0
00430ACD|.E8 BEF1>call    0043FC90
00430AD2|.85C0    test    eax, eax
00430AD4|.74 29   je      short 00430AFF                        //跳就OK了。
00430AD6|.68 4823>push    00472348                      ;ASCII "Pul-az74-9xf"
00430ADB|.8D4C24 >lea   ecx,
00430ADF|.51      push    ecx                               
00430AE0|.B9 C042>mov   ecx, 004742C0
00430AE5|.E8 A6F1>call    0043FC90
00430AEA|.85C0    test    eax, eax
00430AEC|.74 11   je      short 00430AFF
00430AEE|.33C0    xor   eax, eax
00430AF0|.8B4C24 >mov   ecx,
00430AF4|.33CC    xor   ecx, esp
00430AF6|.E8 7990>call    00449B74
00430AFB|.83C4 54 add   esp, 54
00430AFE|.C3      retn
00430AFF|>8B4C24 >mov   ecx,     //跳到这里就OK
00430B03|.33CC    xor   ecx, esp
00430B05|.B8 0100>mov   eax, 1
00430B0A|.E8 6590>call    00449B74
00430B0F|.83C4 54 add   esp, 54
00430B12\.C3      retn
<<====
00430BC1   .85C0    test    eax, eax                        //eax=1就OK       
00430BC3   .6A 30   push    30                            ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
00430BC5   .74 4B   je      short 00430C12                ; |
00430BC7   .8B0D 0C>mov   ecx,                ; |Sweet_32.00460FD4
00430BCD   .51      push    ecx                           ; |Title => "Sweet Sixteen MIDI Sequencer"
00430BCE   .68 2800>push    00460028                      ; |Text = "Thanks for registering!",LF,"Please restart the program!"
00430BD3   .53      push    ebx                           ; |hOwner
00430BD4   .FF15 C8>call    [<&USER32.MessageBoxA>]       ; \MessageBoxA
00430BDA   .33C0    xor   eax, eax
00430BDC   .6A 01   push    1                           ; /Result = 1
00430BDE   .53      push    ebx                           ; |hWnd
00430BDF   .C705 FC>mov   dword ptr , 1         ; |
00430BE9   .66:A3 0>mov   , ax                  ; |
00430BEF   .66:A3 0>mov   , ax                  ; |
00430BF5   .FF15 90>call    [<&USER32.EndDialog>]         ; \EndDialog
00430BFB   .B8 0100>mov   eax, 1
00430C00   .5B      pop   ebx
00430C01   .8B4C24 >mov   ecx,
00430C05   .33CC    xor   ecx, esp
00430C07   .E8 688F>call    00449B74
00430C0C   .83C4 64 add   esp, 64
00430C0F   .C2 1000 retn    10
00430C12   >8B15 0C>mov   edx,                ; |Sweet_32.00460FD4
00430C18   .52      push    edx                           ; |Title => "Sweet Sixteen MIDI Sequencer"
00430C19   .68 1000>push    00460010                      ; |Text = "Not a valid password!"
00430C1E   .53      push    ebx                           ; |hOwner
00430C1F   .FF15 C8>call    [<&USER32.MessageBoxA>]       ; \MessageBoxA
00430C25   .6A 01   push    1                           ; /Result = 1
00430C27   .53      push    ebx                           ; |hWnd
00430C28   .C705 FC>mov   dword ptr , 0         ; |
00430C32   .FF15 90>call    [<&USER32.EndDialog>]         ; \EndDialog
================
SN:Pul-az74-9xf

[ 本帖最后由 spc_cll 于 2006-4-3 15:19 编辑 ]
页: [1]
查看完整版本: MIDI创作编辑Sweet Sixteen MIDI Sequencer 3.30