这里应该是在比较注册码:
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