• 标 题:新手的破解: Composer for Ring Tone 手机铃声编辑软件 (24千字)
  • 作 者:fengy
  • 时 间:2002-2-4 11:11:21
  • 链 接:http://bbs.pediy.com

软件名称:    Composer for Ring Tone
软件下载:        www.newhua.com
软件用途:    这个东东是大众软件03期中介绍的一个手机铃声编辑器,据说挺好用的,可惜对我没有!

工具:        TRW2000 1.22 , W32dasm ,FileInfo v2.43
日期:        2002.2.1
作者:        Fengy

过程:

1)  用W32dasm反编译Ringtone.exe,结果如下:
2)  bpx getwindowtexta
3)  name:fengy
    key :fengy-1980-1980314


* Referenced by a CALL at Addresses:
|:00415045  , :0041F277  , :0044A7F0  , :0044AA17  , :0044B730 
|
:0043C91E 8B4138                  mov eax, dword ptr [ecx+38]
:0043C921 85C0                    test eax, eax
:0043C923 7513                    jne 0043C938
:0043C925 FF742408                push [esp+08]
:0043C929 FF742408                push [esp+08]
:0043C92D FF711C                  push [ecx+1C]

* Reference To: USER32.GetWindowTextA, Ord:015Eh
                                  |
:0043C930 FF1554A54600            Call dword ptr [0046A554]            << get text for reg
:0043C936 EB12                    jmp 0043C94A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043C923(C)
|
:0043C938 FF742408                push [esp+08]
:0043C93C 8B10                    mov edx, dword ptr [eax]
:0043C93E 8BC8                    mov ecx, eax
:0043C940 FF742408                push [esp+08]
:0043C944 FF9284000000            call dword ptr [edx+00000084]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043C936(U)
|
:0043C94A C20800                  ret 0008                    << 41504A ret
****************************************************************

:00414FEF 90                      nop
:00414FF0 6AFF                    push FFFFFFFF
:00414FF2 68386F4600              push 00466F38
:00414FF7 64A100000000            mov eax, dword ptr fs:[00000000]
:00414FFD 50                      push eax
:00414FFE 64892500000000          mov dword ptr fs:[00000000], esp
:00415005 83EC20                  sub esp, 00000020
:00415008 A1DC4E4800              mov eax, dword ptr [00484EDC]
:0041500D 53                      push ebx
:0041500E 56                      push esi
:0041500F 8BF1                    mov esi, ecx
:00415011 89442408                mov dword ptr [esp+08], eax
:00415015 33DB                    xor ebx, ebx
:00415017 8D4C240C                lea ecx, dword ptr [esp+0C]
:0041501B 895C2430                mov dword ptr [esp+30], ebx
:0041501F E8BCD9FEFF              call 004029E0
:00415024 8B86D4000000            mov eax, dword ptr [esi+000000D4]
:0041502A C644243001              mov [esp+30], 01
:0041502F 83F803                  cmp eax, 00000003
:00415032 0F8F90000000            jg 004150C8
:00415038 8D4C2418                lea ecx, dword ptr [esp+18]
:0041503C 6A0F                    push 0000000F
:0041503E 51                      push ecx
:0041503F 8D8E98000000            lea ecx, dword ptr [esi+00000098]
:00415045 E8D4780200              call 0043C91E
:0041504A 8D542408                lea edx, dword ptr [esp+08]            << after getwindowtexta
:0041504E 8D4E5C                  lea ecx, dword ptr [esi+5C]
:00415051 52                      push edx
:00415052 E8E2520200              call 0043A339
:00415057 51                      push ecx                    << bad regcode
:00415058 8D44240C                lea eax, dword ptr [esp+0C]            << [ecx]--> "fengy"
:0041505C 8BCC                    mov ecx, esp                    << eax ---> code length
:0041505E 89642414                mov dword ptr [esp+14], esp
:00415062 50                      push eax
:00415063 E82A800200              call 0043D092
:00415068 8D4C241C                lea ecx, dword ptr [esp+1C]
:0041506C 51                      push ecx
:0041506D 8D4C2414                lea ecx, dword ptr [esp+14]          << name : "fengy"
:00415071 E8AAD9FEFF              call 00402A20                    << 重要的call,注册码的生成和校验
:00415076 3BC3                    cmp eax, ebx                    << 分界点(成功/失败)
:00415078 7448                    je 004150C2
:0041507A 51                      push ecx
:0041507B 8D54240C                lea edx, dword ptr [esp+0C]
:0041507F 8BCC                    mov ecx, esp
:00415081 89642414                mov dword ptr [esp+14], esp
:00415085 52                      push edx
:00415086 E807800200              call 0043D092
:0041508B 51                      push ecx
:0041508C 8D442420                lea eax, dword ptr [esp+20]
:00415090 8BCC                    mov ecx, esp
:00415092 8964241C                mov dword ptr [esp+1C], esp
:00415096 50                      push eax
:00415097 C644243C02              mov [esp+3C], 02
:0041509C E8EA820200              call 0043D38B
:004150A1 8BCE                    mov ecx, esi
:004150A3 C644243801              mov [esp+38], 01
:004150A8 E863000000              call 00415110
:004150AD 53                      push ebx
:004150AE 53                      push ebx

* Possible Reference to Dialog: 
                                  |
:004150AF 6860454800              push 00484560                    << "thank..."
:004150B4 E8E20F0300              call 0044609B
:004150B9 8BCE                    mov ecx, esi
:004150BB E845960200              call 0043E705
:004150C0 EB12                    jmp 004150D4

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00415078(C)
|
:004150C2 FF86D4000000            inc dword ptr [esi+000000D4]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00415032(C)
|
:004150C8 53                      push ebx
:004150C9 53                      push ebx

* Possible Reference to Dialog: 
                                  |
:004150CA 6854454800              push 00484554                    << "wrong key"
:004150CF E8C70F0300              call 0044609B

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004150C0(U)
|
:004150D4 8D4C240C                lea ecx, dword ptr [esp+0C]
:004150D8 885C2430                mov byte ptr [esp+30], bl
:004150DC E82FD9FEFF              call 00402A10
:004150E1 8D4C2408                lea ecx, dword ptr [esp+08]
:004150E5 C7442430FFFFFFFF        mov [esp+30], FFFFFFFF
:004150ED E82B820200              call 0043D31D
:004150F2 8B4C2428                mov ecx, dword ptr [esp+28]
:004150F6 5E                      pop esi
:004150F7 64890D00000000          mov dword ptr fs:[00000000], ecx
:004150FE 5B                      pop ebx
:004150FF 83C42C                  add esp, 0000002C
:00415102 C3                      ret

******************************************************************


* Referenced by a CALL at Addresses:
|:00415071  , :0041AA74 
|
:00402A20 6AFF                    push FFFFFFFF
:00402A22 68C8594600              push 004659C8
:00402A27 64A100000000            mov eax, dword ptr fs:[00000000]
:00402A2D 50                      push eax
:00402A2E 64892500000000          mov dword ptr fs:[00000000], esp
:00402A35 83EC0C                  sub esp, 0000000C
:00402A38 53                      push ebx
:00402A39 55                      push ebp
:00402A3A 56                      push esi
:00402A3B 57                      push edi
:00402A3C A1DC4E4800              mov eax, dword ptr [00484EDC]
:00402A41 C744242400000000        mov [esp+24], 00000000
:00402A49 89442410                mov dword ptr [esp+10], eax
:00402A4D 89442414                mov dword ptr [esp+14], eax
:00402A51 8B74242C                mov esi, dword ptr [esp+2C]            << esi -->name "fengy"
:00402A55 C644242402              mov [esp+24], 02

* Possible Reference to Dialog: 
                                  |
:00402A5A BF20364800              mov edi, 00483620                << "SpongeUk"
:00402A5F 8BC6                    mov eax, esi

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402A86(C)
|
:00402A61 8A10                    mov dl, byte ptr [eax]
:00402A63 8A1F                    mov bl, byte ptr [edi]
:00402A65 8ACA                    mov cl, dl
:00402A67 83CDFF                  or ebp, FFFFFFFF
:00402A6A 3AD3                    cmp dl, bl                    <<'f' cmp 'S'
:00402A6C 751E                    jne 00402A8C                    << jmp
:00402A6E 84C9                    test cl, cl
:00402A70 7416                    je 00402A88
:00402A72 8A5001                  mov dl, byte ptr [eax+01]
:00402A75 8A5F01                  mov bl, byte ptr [edi+01]
:00402A78 8ACA                    mov cl, dl
:00402A7A 3AD3                    cmp dl, bl
:00402A7C 750E                    jne 00402A8C
:00402A7E 83C002                  add eax, 00000002
:00402A81 83C702                  add edi, 00000002
:00402A84 84C9                    test cl, cl
:00402A86 75D9                    jne 00402A61

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402A70(C)
|
:00402A88 33C0                    xor eax, eax
:00402A8A EB04                    jmp 00402A90

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402A6C(C), :00402A7C(C)
|
:00402A8C 1BC0                    sbb eax, eax
:00402A8E 1BC5                    sbb eax, ebp

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402A8A(U)
|
:00402A90 85C0                    test eax, eax                    << eax =01    
:00402A92 7569                    jne 00402AFD                    << jmp
:00402A94 8B442430                mov eax, dword ptr [esp+30]

* Possible StringData Ref from Data Obj ->"YTNAGO-29775-5868020"
                                  |
:00402A98 BF08364800              mov edi, 00483608

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402ABF(C)
|
:00402A9D 8A10                    mov dl, byte ptr [eax]
:00402A9F 8A1F                    mov bl, byte ptr [edi]
:00402AA1 8ACA                    mov cl, dl
:00402AA3 3AD3                    cmp dl, bl
:00402AA5 751E                    jne 00402AC5
:00402AA7 84C9                    test cl, cl
:00402AA9 7416                    je 00402AC1
:00402AAB 8A5001                  mov dl, byte ptr [eax+01]
:00402AAE 8A5F01                  mov bl, byte ptr [edi+01]
:00402AB1 8ACA                    mov cl, dl
:00402AB3 3AD3                    cmp dl, bl
:00402AB5 750E                    jne 00402AC5
:00402AB7 83C002                  add eax, 00000002
:00402ABA 83C702                  add edi, 00000002
:00402ABD 84C9                    test cl, cl
:00402ABF 75DC                    jne 00402A9D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402AA9(C)
|
:00402AC1 33C0                    xor eax, eax
:00402AC3 EB04                    jmp 00402AC9

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402AA5(C), :00402AB5(C)
|
:00402AC5 1BC0                    sbb eax, eax
:00402AC7 1BC5                    sbb eax, ebp

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402AC3(U)
|
:00402AC9 85C0                    test eax, eax
:00402ACB 7530                    jne 00402AFD
:00402ACD 8D4C2414                lea ecx, dword ptr [esp+14]
:00402AD1 C644242401              mov [esp+24], 01
:00402AD6 E842A80300              call 0043D31D
:00402ADB 8D4C2410                lea ecx, dword ptr [esp+10]
:00402ADF C644242400              mov [esp+24], 00
:00402AE4 E834A80300              call 0043D31D
:00402AE9 8D4C2430                lea ecx, dword ptr [esp+30]
:00402AED 896C2424                mov dword ptr [esp+24], ebp
:00402AF1 E827A80300              call 0043D31D
:00402AF6 8BC5                    mov eax, ebp
:00402AF8 E92A020000              jmp 00402D27

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402A92(C), :00402ACB(C)
|

* Possible Reference to Dialog: 
                                  |
:00402AFD BF20774800              mov edi, 00487720                << move [edi] = 0x0
:00402B02 8BC6                    mov eax, esi                    << [eax]->"fengy"

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402B26(C)
|
:00402B04 8A10                    mov dl, byte ptr [eax]
:00402B06 8A1F                    mov bl, byte ptr [edi]
:00402B08 8ACA                    mov cl, dl
:00402B0A 3AD3                    cmp dl, bl                    <<dl 'f' cmp bl 0x0
:00402B0C 751E                    jne 00402B2C                    << jmp
:00402B0E 84C9                    test cl, cl
:00402B10 7416                    je 00402B28
:00402B12 8A5001                  mov dl, byte ptr [eax+01]
:00402B15 8A5F01                  mov bl, byte ptr [edi+01]
:00402B18 8ACA                    mov cl, dl
:00402B1A 3AD3                    cmp dl, bl
:00402B1C 750E                    jne 00402B2C
:00402B1E 83C002                  add eax, 00000002
:00402B21 83C702                  add edi, 00000002
:00402B24 84C9                    test cl, cl
:00402B26 75DC                    jne 00402B04

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402B10(C)
|
:00402B28 33C0                    xor eax, eax
:00402B2A EB04                    jmp 00402B30

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402B0C(C), :00402B1C(C)
|
:00402B2C 1BC0                    sbb eax, eax                    
:00402B2E 1BC5                    sbb eax, ebp

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402B2A(U)
|
:00402B30 85C0                    test eax, eax                    << eax =01
:00402B32 0F84C4010000            je 00402CFC                    << no jmp
:00402B38 8A4E01                  mov cl, byte ptr [esi+01]            << "fengy" ->'e'
:00402B3B 8A5602                  mov dl, byte ptr [esi+02]            << "fengy" ->'n'
:00402B3E 3ACA                    cmp cl, dl
:00402B40 750D                    jne 00402B4F                    << jmp
:00402B42 8A06                    mov al, byte ptr [esi]
:00402B44 8A5E03                  mov bl, byte ptr [esi+03]
:00402B47 3AC3                    cmp al, bl
:00402B49 0F84AD010000            je 00402CFC

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402B40(C)
|
:00402B4F 0FBE06                  movsx eax, byte ptr [esi]            << 'f' 0x66
:00402B52 0FBEC9                  movsx ecx, cl                    << ecx = 'e'0x65
:00402B55 8D0480                  lea eax, dword ptr [eax+4*eax]        << 0x1FE
:00402B58 8D0480                  lea eax, dword ptr [eax+4*eax]        << 0x9F6
:00402B5B 8D3C80                  lea edi, dword ptr [eax+4*eax]        << 0x31CE
:00402B5E 0FBEC2                  movsx eax, dl                    << dl= [esi+02]='n' 0x6E
:00402B61 8D0480                  lea eax, dword ptr [eax+4*eax]        << 0x226
:00402B64 8D1480                  lea edx, dword ptr [eax+4*eax]        << 0xABE
:00402B67 8D04CD00000000          lea eax, dword ptr [8*ecx+00000000]        << ecx =0x65; eax= 0x65* 8 =0x328
:00402B6E 2BC1                    sub eax, ecx                    << 0x328-0x65 = 0x2c3
:00402B70 0FBE4E04                movsx ecx, byte ptr [esi+04]            << ecx = 'y' 0x79
:00402B74 8D0440                  lea eax, dword ptr [eax+2*eax]        << 0x2c3*3 =0x849
:00402B77 C1E207                  shl edx, 07                    << edx=0xABE left move 7 = 0x55F00
:00402B7A 8D0480                  lea eax, dword ptr [eax+4*eax]        << eax = 0x849*5 =0x296D
:00402B7D 8D14FA                  lea edx, dword ptr [edx+8*edi]        << edx =edi(0x31CE)*8+0x55f00 = 0x6ED70
:00402B80 8D0480                  lea eax, dword ptr [eax+4*eax]        << 0x296D*5 = 0xCF21
:00402B83 8D1482                  lea edx, dword ptr [edx+4*eax]        << edx =33C84+6ED70 =A29F4
:00402B86 8D0449                  lea eax, dword ptr [ecx+2*ecx]        << eax = 0x16B
:00402B89 8D04C0                  lea eax, dword ptr [eax+8*eax]        << eax = 0xCC3
:00402B8C C1E003                  shl eax, 03                    << eax = 6618
:00402B8F 2BC1                    sub eax, ecx                    << eax = 6618-79= 659f
:00402B91 B9A0860100              mov ecx, 000186A0
:00402B96 8D0480                  lea eax, dword ptr [eax+4*eax]        << eax = 1FC1B
:00402B99 8D0482                  lea eax, dword ptr [edx+4*eax]        << eax = A29F4+7F06C =121A60
:00402B9C 99                      cdq                        << edx = 0
:00402B9D F7F9                    idiv ecx                    << eax/ecx = eax =0b edx =15180
:00402B9F 81C2A3340000            add edx, 000034A3                << edx = 18623
:00402BA5 52                      push edx
:00402BA6 8D542414                lea edx, dword ptr [esp+14]            <<

* Possible StringData Ref from Data Obj ->"%d"
                                  |
:00402BAA 6804364800              push 00483604
:00402BAF 52                      push edx
:00402BB0 E834390300              call 004364E9                    << 通过这个call ,got YNTAGO-'99875' ecx
:00402BB5 83C40C                  add esp, 0000000C
:00402BB8 8D442410                lea eax, dword ptr [esp+10]            << dd *eax = 99875
:00402BBC 8D4C2418                lea ecx, dword ptr [esp+18]            << dd *ecx = "fengy-1980-1980314"
:00402BC0 50                      push eax                    

* Possible Reference to Dialog: 
                                  |
:00402BC1 68FC354800              push 004835FC                    << dd 004835FC = "YNATGO-"
:00402BC6 51                      push ecx
:00402BC7 E85AAA0300              call 0043D626                    << dd *eax ='YNATGO-99875'

* Possible Reference to Dialog: 
                                  |
:00402BCC 68F8354800              push 004835F8                    << dd 004835f8 = '-'
:00402BD1 8D542430                lea edx, dword ptr [esp+30]
:00402BD5 50                      push eax
:00402BD6 52                      push edx                    
:00402BD7 C644243003              mov [esp+30], 03                << dd *edx='fengy'
:00402BDC E8D1A90300              call 0043D5B2
:00402BE1 50                      push eax                    <<dd *eax ='YATNGO-99875-'
:00402BE2 8D4C2418                lea ecx, dword ptr [esp+18]
:00402BE6 C644242804              mov [esp+28], 04
:00402BEB E866A80300              call 0043D456
:00402BF0 8D4C242C                lea ecx, dword ptr [esp+2C]
:00402BF4 C644242403              mov [esp+24], 03
:00402BF9 E81FA70300              call 0043D31D
:00402BFE 8D4C2418                lea ecx, dword ptr [esp+18]
:00402C02 C644242402              mov [esp+24], 02
:00402C07 E811A70300              call 0043D31D
:00402C0C 0FBE06                  movsx eax, byte ptr [esi]
:00402C0F 8D0480                  lea eax, dword ptr [eax+4*eax]
:00402C12 8D0480                  lea eax, dword ptr [eax+4*eax]
:00402C15 8D0480                  lea eax, dword ptr [eax+4*eax]
:00402C18 8D0C80                  lea ecx, dword ptr [eax+4*eax]
:00402C1B 0FBE4604                movsx eax, byte ptr [esi+04]
:00402C1F C1E104                  shl ecx, 04
:00402C22 8D14C500000000          lea edx, dword ptr [8*eax+00000000]
:00402C29 2BD0                    sub edx, eax
:00402C2B C1E208                  shl edx, 08
:00402C2E 2BD0                    sub edx, eax
:00402C30 8D0490                  lea eax, dword ptr [eax+4*edx]
:00402C33 8D1441                  lea edx, dword ptr [ecx+2*eax]
:00402C36 0FBE4E01                movsx ecx, byte ptr [esi+01]
:00402C3A 8BC1                    mov eax, ecx
:00402C3C C1E006                  shl eax, 06
:00402C3F 2BC1                    sub eax, ecx
:00402C41 C1E004                  shl eax, 04
:00402C44 03C1                    add eax, ecx
:00402C46 8D0440                  lea eax, dword ptr [eax+2*eax]
:00402C49 8D0C41                  lea ecx, dword ptr [ecx+2*eax]
:00402C4C 8D144A                  lea edx, dword ptr [edx+2*ecx]
:00402C4F 0FBE4E02                movsx ecx, byte ptr [esi+02]
:00402C53 8BC1                    mov eax, ecx
:00402C55 C1E005                  shl eax, 05
:00402C58 03C1                    add eax, ecx
:00402C5A 8D0480                  lea eax, dword ptr [eax+4*eax]
:00402C5D 8D0481                  lea eax, dword ptr [ecx+4*eax]
:00402C60 8D0C80                  lea ecx, dword ptr [eax+4*eax]
:00402C63 8D848AF2430B00          lea eax, dword ptr [edx+4*ecx+000B43F2]
:00402C6A 8D542410                lea edx, dword ptr [esp+10]
:00402C6E 50                      push eax

* Possible Reference to Dialog: 
                                  |
:00402C6F 6804364800              push 00483604
:00402C74 52                      push edx
:00402C75 E86F380300              call 004364E9
:00402C7A 83C40C                  add esp, 0000000C                    << dd ecx '6169530'
:00402C7D 8D442410                lea eax, dword ptr [esp+10]
:00402C81 8D4C2414                lea ecx, dword ptr [esp+14]
:00402C85 50                      push eax
:00402C86 E8AAAA0300              call 0043D735
:00402C8B 8D4C2430                lea ecx, dword ptr [esp+30]                << dd eax = good regcode
:00402C8F E868380300              call 004364FC                        << YATNGO-99875-6169530
:00402C94 8B742430                mov esi, dword ptr [esp+30]
:00402C98 8B442414                mov eax, dword ptr [esp+14]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402CBE(C)
|
:00402C9C 8A10                    mov dl, byte ptr [eax]
:00402C9E 8A1E                    mov bl, byte ptr [esi]
:00402CA0 8ACA                    mov cl, dl
:00402CA2 3AD3                    cmp dl, bl
:00402CA4 751E                    jne 00402CC4
:00402CA6 84C9                    test cl, cl
:00402CA8 7416                    je 00402CC0
:00402CAA 8A5001                  mov dl, byte ptr [eax+01]
:00402CAD 8A5E01                  mov bl, byte ptr [esi+01]
:00402CB0 8ACA                    mov cl, dl
:00402CB2 3AD3                    cmp dl, bl
:00402CB4 750E                    jne 00402CC4
:00402CB6 83C002                  add eax, 00000002
:00402CB9 83C602                  add esi, 00000002
:00402CBC 84C9                    test cl, cl
:00402CBE 75DC                    jne 00402C9C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402CA8(C)
|
:00402CC0 33C0                    xor eax, eax
:00402CC2 EB04                    jmp 00402CC8

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402CA4(C), :00402CB4(C)
|
:00402CC4 1BC0                    sbb eax, eax
:00402CC6 1BC5                    sbb eax, ebp

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402CC2(U)
|
:00402CC8 85C0                    test eax, eax
:00402CCA 7530                    jne 00402CFC
:00402CCC 8D4C2414                lea ecx, dword ptr [esp+14]
:00402CD0 C644242401              mov [esp+24], 01
:00402CD5 E843A60300              call 0043D31D
:00402CDA 8D4C2410                lea ecx, dword ptr [esp+10]
:00402CDE C644242400              mov [esp+24], 00
:00402CE3 E835A60300              call 0043D31D
:00402CE8 8D4C2430                lea ecx, dword ptr [esp+30]
:00402CEC 896C2424                mov dword ptr [esp+24], ebp
:00402CF0 E828A60300              call 0043D31D
:00402CF5 B801000000              mov eax, 00000001
:00402CFA EB2B                    jmp 00402D27

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402B32(C), :00402B49(C), :00402CCA(C)
|
:00402CFC 8D4C2414                lea ecx, dword ptr [esp+14]
:00402D00 C644242401              mov [esp+24], 01
:00402D05 E813A60300              call 0043D31D
:00402D0A 8D4C2410                lea ecx, dword ptr [esp+10]
:00402D0E C644242400              mov [esp+24], 00
:00402D13 E805A60300              call 0043D31D
:00402D18 8D4C2430                lea ecx, dword ptr [esp+30]
:00402D1C 896C2424                mov dword ptr [esp+24], ebp
:00402D20 E8F8A50300              call 0043D31D
:00402D25 33C0                    xor eax, eax

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00402AF8(U), :00402CFA(U)
|
:00402D27 8B4C241C                mov ecx, dword ptr [esp+1C]
:00402D2B 5F                      pop edi
:00402D2C 5E                      pop esi
:00402D2D 5D                      pop ebp
:00402D2E 5B                      pop ebx
:00402D2F 64890D00000000          mov dword ptr fs:[00000000], ecx
:00402D36 83C418                  add esp, 00000018
:00402D39 C20800                  ret 0008

****************************************************************

整个过程不是很复杂,这里面还有一对注册码,
name:     SpongeUk
key:    YTNAGO-29775-5868020
用这对注册码注册,也会提示OK(参看上面的过程),但是,下次启动后还是"unregister version"
我当时没有仔细看在刚刚安装后,注册表local_machine->software->long->reg1中的信息,还没
有研究过这对注册码的作用.
另外,就是在填写注册信息中的name时,不能填写类似这样的"abba",程序上会比较name的1和2字母,
以及0和3字母,如果相同好像也不行,这儿,我没看仔细,挺奇怪的,^_^,还好我的name :fengy不是这种组合
本想,多花点时间,搞清楚是如何计算注册码的.可惜暂时没弄明白.

---fengy----