用DeDe则更爽 (8千字)
这里应该是在比较注册码:004EDDE8 8B45F4 mov eax, [ebp-$0C]
004EDDEB 3B45F8 cmp eax, [ebp-$08]
004EDDEE 7409 jz 004EDDF9
有兴趣的用SoftICE跟一下 ;)
//--------------------------------------------------------------------------
004EDCA0 803DAC394F0000 cmp byte ptr [$4F39AC], $00
004EDCA7 0F849A010000 jz 004EDE47
004EDCAD 8D55D8 lea edx, [ebp-$28]
* Possible reference to TApplication instance
|
004EDCB0 A16C3D4F00 mov eax, dword ptr [$4F3D6C]
004EDCB5 8B00 mov eax, [eax]
* Reference to: Forms.TApplication.GetExeName()
|
004EDCB7 E890BFF4FF call 00439C4C
004EDCBC 8B45D8 mov eax, [ebp-$28]
004EDCBF 8D55DC lea edx, [ebp-$24]
* Reference to: Sysutils.ExtractFileDir(System.AnsiString)
|
004EDCC2 E871B0F1FF call 00408D38
004EDCC7 8D45DC lea eax, [ebp-$24]
* Possible String Reference to: '\GYPSEE.KEY'
|
004EDCCA BA4CE04E00 mov edx, $004EE04C
* Reference to: System..LStrCat()
|
004EDCCF E86463F1FF call 00404038
004EDCD4 8B45DC mov eax, [ebp-$24]
* Reference to: Sysutils.FileExists(System.AnsiString)
|
004EDCD7 E86CADF1FF call 00408A48
004EDCDC 84C0 test al, al
004EDCDE 0F8425010000 jz 004EDE09
004EDCE4 B201 mov dl, $01
* Possible reference to class TMemoryStream
|
004EDCE6 A1ECF84000 mov eax, dword ptr [$40F8EC]
* Reference to: System.TObject.Create()
|
004EDCEB E86853F1FF call 00403058
004EDCF0 8BF0 mov esi, eax
004EDCF2 8D55D0 lea edx, [ebp-$30]
* Possible reference to TApplication instance
|
004EDCF5 A16C3D4F00 mov eax, dword ptr [$4F3D6C]
004EDCFA 8B00 mov eax, [eax]
* Reference to: Forms.TApplication.GetExeName()
|
004EDCFC E84BBFF4FF call 00439C4C
004EDD01 8B45D0 mov eax, [ebp-$30]
004EDD04 8D55D4 lea edx, [ebp-$2C]
* Reference to: Sysutils.ExtractFileDir(System.AnsiString)
|
004EDD07 E82CB0F1FF call 00408D38
004EDD0C 8D45D4 lea eax, [ebp-$2C]
* Possible String Reference to: '\GYPSEE.KEY'
|
004EDD0F BA4CE04E00 mov edx, $004EE04C
* Reference to: System..LStrCat()
|
004EDD14 E81F63F1FF call 00404038
004EDD19 8B55D4 mov edx, [ebp-$2C]
004EDD1C 8BC6 mov eax, esi
* Reference to: Classes.TMemoryStream.LoadFromFile(System.AnsiString)
|
004EDD1E E8CD54F2FF call 004131F0
004EDD23 8BC6 mov eax, esi
* Reference to: Classes.TStream.GetSize()
|
004EDD25 E88E50F2FF call 00412DB8
004EDD2A 8BD0 mov edx, eax
004EDD2C 83EA04 sub edx, +$04
004EDD2F 33C9 xor ecx, ecx
004EDD31 8BC6 mov eax, esi
004EDD33 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Seek(Longint,Word)
|
004EDD35 FF570C call dword ptr [edi+$0C]
004EDD38 8D55F8 lea edx, [ebp-$08]
004EDD3B B904000000 mov ecx, $00000004
004EDD40 8BC6 mov eax, esi
004EDD42 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Read(Pointer,Longint)
|
004EDD44 FF5704 call dword ptr [edi+$04]
004EDD47 FF45F8 inc dword ptr [ebp-$08]
004EDD4A 8BC6 mov eax, esi
* Reference to: Classes.TStream.GetSize()
|
004EDD4C E86750F2FF call 00412DB8
004EDD51 8BD0 mov edx, eax
004EDD53 83EA05 sub edx, +$05
004EDD56 33C9 xor ecx, ecx
004EDD58 8BC6 mov eax, esi
004EDD5A 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Seek(Longint,Word)
|
004EDD5C FF570C call dword ptr [edi+$0C]
004EDD5F 66C745FE0000 mov word ptr [ebp-$02], $0000
004EDD65 66C745FC0000 mov word ptr [ebp-$04], $0000
004EDD6B 8D55FC lea edx, [ebp-$04]
004EDD6E B901000000 mov ecx, $00000001
004EDD73 8BC6 mov eax, esi
004EDD75 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Read(Pointer,Longint)
|
004EDD77 FF5704 call dword ptr [edi+$04]
004EDD7A 33C9 xor ecx, ecx
004EDD7C 33D2 xor edx, edx
004EDD7E 8BC6 mov eax, esi
004EDD80 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Seek(Longint,Word)
|
004EDD82 FF570C call dword ptr [edi+$0C]
004EDD85 33C0 xor eax, eax
004EDD87 8945F4 mov [ebp-$0C], eax
004EDD8A 8BC6 mov eax, esi
* Reference to: Classes.TStream.GetSize()
|
004EDD8C E82750F2FF call 00412DB8
004EDD91 6683E805 sub ax, +$05
004EDD95 6685C0 test ax, ax
004EDD98 764E jbe 004EDDE8
004EDD9A 668945EE mov [ebp-$12], ax
004EDD9E 8D55FE lea edx, [ebp-$02]
004EDDA1 B901000000 mov ecx, $00000001
004EDDA6 8BC6 mov eax, esi
004EDDA8 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Read(Pointer,Longint)
|
004EDDAA FF5704 call dword ptr [edi+$04]
004EDDAD 8BC6 mov eax, esi
* Reference to: Classes.TStream.GetPosition()
|
004EDDAF E8E84FF2FF call 00412D9C
004EDDB4 8BD0 mov edx, eax
004EDDB6 4A dec edx
004EDDB7 33C9 xor ecx, ecx
004EDDB9 8BC6 mov eax, esi
004EDDBB 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Seek(Longint,Word)
|
004EDDBD FF570C call dword ptr [edi+$0C]
004EDDC0 0FB745FE movzx eax, word ptr [ebp-$02]
004EDDC4 0145F4 add [ebp-$0C], eax
004EDDC7 668B45FC mov ax, word ptr [ebp-$04]
004EDDCB 663145FE xor [ebp-$02], ax
004EDDCF 8D55FE lea edx, [ebp-$02]
004EDDD2 B901000000 mov ecx, $00000001
004EDDD7 8BC6 mov eax, esi
004EDDD9 8B38 mov edi, [eax]
* Reference to method TMemoryStream.Write(Pointer,Longint)
|
004EDDDB FF5708 call dword ptr [edi+$08]
004EDDDE 66FF45FC inc word ptr [ebp-$04]
004EDDE2 66FF4DEE dec word ptr [ebp-$12]
004EDDE6 75B6 jnz 004EDD9E
004EDDE8 8B45F4 mov eax, [ebp-$0C]
004EDDEB 3B45F8 cmp eax, [ebp-$08]
004EDDEE 7409 jz 004EDDF9
004EDDF0 C605AC394F0001 mov byte ptr [$4F39AC], $01
004EDDF7 EB07 jmp 004EDE00
004EDDF9 C605AC394F0000 mov byte ptr [$4F39AC], $00
004EDE00 8BC6 mov eax, esi
* Reference to: System.TObject.Free()
|
004EDE02 E88152F1FF call 00403088
004EDE07 EB07 jmp 004EDE10
004EDE09 C605AC394F0001 mov byte ptr [$4F39AC], $01
004EDE10 803DAC394F0000 cmp byte ptr [$4F39AC], $00
004EDE17 741F jz 004EDE38
004EDE19 8D45CC lea eax, [ebp-$34]
* Possible String Reference to: ' UNREGISTERED'
|
004EDE1C B960E04E00 mov ecx, $004EE060
004EDE21 8B15A8394F00 mov edx, [$4F39A8]
* Reference to: System..LStrCat3()
|
004EDE27 E85062F1FF call 0040407C
004EDE2C 8B55CC mov edx, [ebp-$34]
004EDE2F 8BC3 mov eax, ebx
* Reference to: Controls.TControl.SetText(System.AnsiString)
|
004EDE31 E81A94F5FF call 00447250
004EDE36 EB1C jmp 004EDE54
004EDE38 8B15A8394F00 mov edx, [$4F39A8]
004EDE3E 8BC3 mov eax, ebx
* Reference to: Controls.TControl.SetText(System.AnsiString)
|
004EDE40 E80B94F5FF call 00447250
004EDE45 EB0D jmp 004EDE54
