procedure TfrmSecRegister.btnRegisterClick(Sender : TObject);
begin
(*
007A5F20 55 push ebp
007A5F21 8BEC mov ebp, esp
007A5F23 B910000000 mov ecx, $00000010
007A5F28 6A00 push $00
007A5F2A 6A00 push $00
007A5F2C 49 dec ecx
007A5F2D 75F9 jnz 007A5F28
007A5F2F 51 push ecx
007A5F30 53 push ebx
007A5F31 56 push esi
007A5F32 8BF0 mov esi, eax
007A5F34 33C0 xor eax, eax
007A5F36 55 push ebp
* Possible String Reference to: '椴着?妻[?]?
|
007A5F37 68B5627A00 push $007A62B5
***** TRY
|
007A5F3C 64FF30 push dword ptr fs:[eax]
007A5F3F 648920 mov fs:[eax], esp
007A5F42 8D55C0 lea edx, [ebp-$40]
007A5F45 8B86EC020000 mov eax, [esi+$02EC]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5F4B E8A8B6CAFF call 004515F8
007A5F50 FF75C0 push dword ptr [ebp-$40]
007A5F53 8D55BC lea edx, [ebp-$44]
007A5F56 8B86F4020000 mov eax, [esi+$02F4]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5F5C E897B6CAFF call 004515F8
007A5F61 FF75BC push dword ptr [ebp-$44]
007A5F64 8D55B8 lea edx, [ebp-$48]
007A5F67 8B86F8020000 mov eax, [esi+$02F8]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5F6D E886B6CAFF call 004515F8
007A5F72 FF75B8 push dword ptr [ebp-$48]
007A5F75 8D55B4 lea edx, [ebp-$4C]
007A5F78 8B8600030000 mov eax, [esi+$0300]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5F7E E875B6CAFF call 004515F8
007A5F83 FF75B4 push dword ptr [ebp-$4C]
007A5F86 8D55B0 lea edx, [ebp-$50]
007A5F89 8B8608030000 mov eax, [esi+$0308]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5F8F E864B6CAFF call 004515F8
007A5F94 FF75B0 push dword ptr [ebp-$50]
007A5F97 8D55AC lea edx, [ebp-$54]
007A5F9A 8B8610030000 mov eax, [esi+$0310]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5FA0 E853B6CAFF call 004515F8
007A5FA5 FF75AC push dword ptr [ebp-$54]
007A5FA8 8D55A8 lea edx, [ebp-$58]
007A5FAB 8B8614030000 mov eax, [esi+$0314]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5FB1 E842B6CAFF call 004515F8
007A5FB6 FF75A8 push dword ptr [ebp-$58]
007A5FB9 8D45A4 lea eax, [ebp-$5C]
007A5FBC 50 push eax
007A5FBD 8D55A0 lea edx, [ebp-$60]
007A5FC0 8B861C030000 mov eax, [esi+$031C]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5FC6 E82DB6CAFF call 004515F8
007A5FCB 8B45A0 mov eax, [ebp-$60]
007A5FCE B904000000 mov ecx, $00000004
007A5FD3 BA01000000 mov edx, $00000001
* Reference to: system.@LStrCopy;
|
007A5FD8 E89BE4C5FF call 00404478
007A5FDD FF75A4 push dword ptr [ebp-$5C]
007A5FE0 8D45FC lea eax, [ebp-$04]
007A5FE3 BA08000000 mov edx, $00000008
* Reference to: system.@LStrCatN;
|
007A5FE8 E843E3C5FF call 00404330
007A5FED 8D459C lea eax, [ebp-$64]
007A5FF0 50 push eax
007A5FF1 8D5598 lea edx, [ebp-$68]
007A5FF4 8B861C030000 mov eax, [esi+$031C]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A5FFA E8F9B5CAFF call 004515F8
007A5FFF 8B4598 mov eax, [ebp-$68]
007A6002 B901000000 mov ecx, $00000001
007A6007 BA05000000 mov edx, $00000005
* Reference to: system.@LStrCopy;
|
007A600C E867E4C5FF call 00404478
007A6011 8B459C mov eax, [ebp-$64]
007A6014 8A00 mov al, byte ptr [eax]
007A6016 8845CA mov [ebp-$36], al
007A6019 8B55FC mov edx, [ebp-$04]
007A601C 8BC6 mov eax, esi
|
007A601E E8D5050000 call 007A65F8
007A6023 8BD8 mov ebx, eax
007A6025 3A5DCA cmp bl, byte ptr [ebp-$36]
007A6028 741D jz 007A6047
* Possible String Reference to: '输入数字/字母有错误请再次输入提示:
| 注册码不会包含数字(0、1);
| 可能含有字母(O、L)'
|
007A602A B8CC627A00 mov eax, $007A62CC
* Reference to: dialogs.ShowMessage(AnsiString);
|
007A602F E8180FCCFF call 00466F4C
007A6034 8B86EC020000 mov eax, [esi+$02EC]
007A603A 8B10 mov edx, [eax]
007A603C FF92B0000000 call dword ptr [edx+$00B0]
007A6042 E92E020000 jmp 007A6275
007A6047 8B45FC mov eax, [ebp-$04]
* Reference to: system.@LStrLen:Integer;
| or: system.@DynArrayLength;
| or: system.DynArraySize(Pointer):Integer;
|
007A604A E821E2C5FF call 00404270
007A604F 83F827 cmp eax, +$27
007A6052 0F851D020000 jnz 007A6275
007A6058 8D45F8 lea eax, [ebp-$08]
007A605B 50 push eax
007A605C 8D45F4 lea eax, [ebp-$0C]
007A605F 50 push eax
007A6060 8D5594 lea edx, [ebp-$6C]
007A6063 8B86E4020000 mov eax, [esi+$02E4]
* Reference to: controls.TControl.GetText(TControl):TCaption;
|
007A6069 E88AB5CAFF call 004515F8
007A606E 8B5594 mov edx, [ebp-$6C]
007A6071 8B4DFC mov ecx, [ebp-$04]
007A6074 8BC6 mov eax, esi
* Reference to : TUnlock._PROC_004F4D60()
|
007A6076 E8E5ECD4FF call 004F4D60
007A607B 84C0 test al, al
007A607D 8D4590 lea eax, [ebp-$70]
007A6080 8BD3 mov edx, ebx
* Reference to: system.@LStrFromChar(String;String;Char);
| or: system.@LStrFromWChar(String;String;WideChar);
| or: system.@WStrFromChar(WideString;WideString;Char);
| or: system.@WStrFromWChar(WideString;WideString;WideChar);
|
007A6082 E811E1C5FF call 00404198
007A6087 8B4D90 mov ecx, [ebp-$70]
007A608A 8D45CC lea eax, [ebp-$34]
007A608D 8B55FC mov edx, [ebp-$04]
* Reference to: system.@LStrCat3;
|
007A6090 E827E2C5FF call 004042BC
007A6095 8D45E4 lea eax, [ebp-$1C]
007A6098 50 push eax
007A6099 8D45CB lea eax, [ebp-$35]
007A609C 50 push eax
007A609D 8D45DC lea eax, [ebp-$24]
007A60A0 50 push eax
007A60A1 8D45D8 lea eax, [ebp-$28]
007A60A4 50 push eax
007A60A5 8D45D4 lea eax, [ebp-$2C]
007A60A8 50 push eax
007A60A9 8D45D0 lea eax, [ebp-$30]
007A60AC 50 push eax
007A60AD 8D458C lea eax, [ebp-$74]
* Reference to : TUnlock._PROC_004F407C()
|
007A60B0 E8C7DFD4FF call 004F407C
007A60B5 8D458C lea eax, [ebp-$74]
* Possible String Reference to: 'PrvFiles\SecIssue.Dat'
|
007A60B8 BA34637A00 mov edx, $007A6334
* Reference to: system.@LStrCat;
|
007A60BD E8B6E1C5FF call 00404278
007A60C2 8B458C mov eax, [ebp-$74]
007A60C5 8D4DE8 lea ecx, [ebp-$18]
007A60C8 8D55E0 lea edx, [ebp-$20]
* Reference to : TUnlock._PROC_004F47C4()
|
007A60CB E8F4E6D4FF call 004F47C4
007A60D0 84C0 test al, al
007A60D2 750F jnz 007A60E3
* Possible String Reference to: 'SecIssue数据文件读取错误'
|
007A60D4 B854637A00 mov eax, $007A6354
* Reference to: dialogs.ShowMessage(AnsiString);
|
007A60D9 E86E0ECCFF call 00466F4C
007A60DE E992010000 jmp 007A6275
007A60E3 8D4588 lea eax, [ebp-$78]
* Reference to : TUnlock._PROC_004F407C()
|
007A60E6 E891DFD4FF call 004F407C
007A60EB 8B5588 mov edx, [ebp-$78]
007A60EE 8D45EC lea eax, [ebp-$14]
* Possible String Reference to: 'PrvFiles\SecIssue.Dat'
|
007A60F1 B934637A00 mov ecx, $007A6334
* Reference to: system.@LStrCat3;
|
007A60F6 E8C1E1C5FF call 004042BC
007A60FB 8B45EC mov eax, [ebp-$14]
* Reference to: sysutils.FileExists(AnsiString):Boolean;
|
007A60FE E8D548C6FF call 0040A9D8
007A6103 84C0 test al, al
007A6105 747E jz 007A6185
007A6107 8D55F0 lea edx, [ebp-$10]
007A610A 8B45EC mov eax, [ebp-$14]
* Reference to: sysutils.ExtractFileName(AnsiString):AnsiString;
|
007A610D E8F64BC6FF call 0040AD08
007A6112 8D4584 lea eax, [ebp-$7C]
* Reference to : TUnlock._PROC_004F407C()
|
007A6115 E862DFD4FF call 004F407C
007A611A FF7584 push dword ptr [ebp-$7C]
* Possible String Reference to: 'PrvFiles\'
|
007A611D 6878637A00 push $007A6378
007A6122 8D4D80 lea ecx, [ebp-$80]
* Possible String Reference to: '.BAK'
|
007A6125 BA8C637A00 mov edx, $007A638C
007A612A 8B45F0 mov eax, [ebp-$10]
* Reference to: sysutils.ChangeFileExt(AnsiString;AnsiString):AnsiString;
|
007A612D E87A4AC6FF call 0040ABAC
007A6132 FF7580 push dword ptr [ebp-$80]
007A6135 8D45F0 lea eax, [ebp-$10]
007A6138 BA03000000 mov edx, $00000003
* Reference to: system.@LStrCatN;
|
007A613D E8EEE1C5FF call 00404330
007A6142 8B45F0 mov eax, [ebp-$10]
* Reference to: sysutils.FileExists(AnsiString):Boolean;
|
007A6145 E88E48C6FF call 0040A9D8
007A614A 84C0 test al, al
007A614C 7412 jz 007A6160
007A614E 8B45F0 mov eax, [ebp-$10]
* Reference to: grids.TInplaceEdit.Visible(TInplaceEdit):Boolean;
| or: sysutils.DeleteFile(AnsiString):Boolean;
| or: sysutils.SetCurrentDir(AnsiString):Boolean;
| or: sysutils.RemoveDir(AnsiString):Boolean;
|
007A6151 E89A49C6FF call 0040AAF0
* Possible String Reference to: 'Unable to delete backup file.'
|
007A6156 BA9C637A00 mov edx, $007A639C
* Reference to : TUnlock._PROC_004F40C8()
|
007A615B E868DFD4FF call 004F40C8
007A6160 8B55F0 mov edx, [ebp-$10]
007A6163 8B45EC mov eax, [ebp-$14]
* Reference to: sysutils.RenameFile(AnsiString;AnsiString):Boolean;
|
007A6166 E89D49C6FF call 0040AB08
007A616B 84C0 test al, al
007A616D 7516 jnz 007A6185
* Possible String Reference to: 'Unable to create backup file.'
|
007A616F B9C4637A00 mov ecx, $007A63C4
007A6174 B201 mov dl, $01
007A6176 A1D8944000 mov eax, dword ptr [$004094D8]
* Reference to: axctrls.TOleStream.Create(TOleStream;boolean;IStream);
| or: inifiles.TCustomIniFile.Create(TCustomIniFile;boolean;AnsiString);
| or: sysutils.Exception.Create(Exception;boolean;AnsiString);
|
007A617B E8387CC6FF call 0040DDB8
* Reference to: system.@RaiseExcept;
|
007A6180 E81FD9C5FF call 00403AA4
007A6185 8B45E4 mov eax, [ebp-$1C]
007A6188 50 push eax
007A6189 8A45CB mov al, byte ptr [ebp-$35]
007A618C 50 push eax
007A618D 8B45DC mov eax, [ebp-$24]
007A6190 50 push eax
007A6191 8B45D8 mov eax, [ebp-$28]
007A6194 50 push eax
007A6195 8B45D4 mov eax, [ebp-$2C]
007A6198 50 push eax
007A6199 8B45CC mov eax, [ebp-$34]
007A619C 50 push eax
007A619D 8B4DE8 mov ecx, [ebp-$18]
007A61A0 8B55E0 mov edx, [ebp-$20]
007A61A3 8B45EC mov eax, [ebp-$14]
* Reference to : TDriveComboBox._PROC_004F2FF8()
|
007A61A6 E84DCED4FF call 004F2FF8
007A61AB 84C0 test al, al
007A61AD 750F jnz 007A61BE
* Possible String Reference to: 'IssueDatFile Fail!'
|
007A61AF B8EC637A00 mov eax, $007A63EC
* Reference to: dialogs.ShowMessage(AnsiString);
|
007A61B4 E8930DCCFF call 00466F4C
007A61B9 E9B7000000 jmp 007A6275
007A61BE A154688100 mov eax, dword ptr [$00816854]
007A61C3 8138E7030000 cmp dword ptr [eax], $000003E7
007A61C9 740E jz 007A61D9
007A61CB 33C9 xor ecx, ecx
007A61CD B201 mov dl, $01
* Possible String Reference to: '注册Key'
|
007A61CF B808647A00 mov eax, $007A6408
* Reference to : TUnlock._PROC_004F4E9C()
|
007A61D4 E8C3ECD4FF call 004F4E9C
007A61D9 83BE3003000000 cmp dword ptr [esi+$0330], +$00
007A61E0 746B jz 007A624D
007A61E2 8B45F8 mov eax, [ebp-$08]
* Reference to: system.@LStrLen:Integer;
| or: system.@DynArrayLength;
| or: system.DynArraySize(Pointer):Integer;
|
007A61E5 E886E0C5FF call 00404270
007A61EA 50 push eax
007A61EB 8B45F8 mov eax, [ebp-$08]
* Reference to: system.@LStrToPChar;
|
007A61EE E841E2C5FF call 00404434
007A61F3 8D4DC4 lea ecx, [ebp-$3C]
007A61F6 5A pop edx
|
007A61F7 E8D899D2FF call 004CFBD4
007A61FC 8B45C4 mov eax, [ebp-$3C]
007A61FF FF9630030000 call dword ptr [esi+$0330]
007A6205 84C0 test al, al
007A6207 7409 jz 007A6212
007A6209 C6862C03000001 mov byte ptr [esi+$032C], $01
007A6210 EB42 jmp 007A6254
* Possible String Reference to: 'Key错['
|
007A6212 6818647A00 push $007A6418
007A6217 FF75CC push dword ptr [ebp-$34]
007A621A 6828647A00 push $007A6428
007A621F 8D857CFFFFFF lea eax, [ebp+$FFFFFF7C]
007A6225 BA03000000 mov edx, $00000003
* Reference to: system.@LStrCatN;
|
007A622A E801E1C5FF call 00404330
007A622F 8B8D7CFFFFFF mov ecx, [ebp+$FFFFFF7C]
007A6235 33D2 xor edx, edx
* Possible String Reference to: '注册Key'
|
007A6237 B808647A00 mov eax, $007A6408
* Reference to : TUnlock._PROC_004F4E9C()
|
007A623C E85BECD4FF call 004F4E9C
* Possible String Reference to: '输入的注册码不对'
|
007A6241 B834647A00 mov eax, $007A6434
* Reference to: dialogs.ShowMessage(AnsiString);
|
007A6246 E8010DCCFF call 00466F4C
007A624B EB07 jmp 007A6254
007A624D C6862C03000001 mov byte ptr [esi+$032C], $01
007A6254 80BE2C03000000 cmp byte ptr [esi+$032C], $00
007A625B 740A jz 007A6267
* Possible String Reference to: '注册成功'
|
007A625D B850647A00 mov eax, $007A6450
* Reference to: dialogs.ShowMessage(AnsiString);
|
007A6262 E8E50CCCFF call 00466F4C
007A6267 8B86D8020000 mov eax, [esi+$02D8]
007A626D 8B10 mov edx, [eax]
007A626F FF92B0000000 call dword ptr [edx+$00B0]
007A6275 33C0 xor eax, eax
007A6277 5A pop edx
007A6278 59 pop ecx
007A6279 59 pop ecx
007A627A 648910 mov fs:[eax], edx
****** FINALLY
|
* Possible String Reference to: '^[?]?
|
007A627D 68BC627A00 push $007A62BC
007A6282 8D857CFFFFFF lea eax, [ebp+$FFFFFF7C]
007A6288 BA06000000 mov edx, $00000006
* Reference to: system.@LStrArrayClr;
|
007A628D E882DDC5FF call 00404014
007A6292 8D4594 lea eax, [ebp-$6C]
007A6295 BA0C000000 mov edx, $0000000C
* Reference to: system.@LStrArrayClr;
|
007A629A E875DDC5FF call 00404014
007A629F 8D45C4 lea eax, [ebp-$3C]
* Reference to: system.@LStrClr(String;String);
|
007A62A2 E849DDC5FF call 00403FF0
007A62A7 8D45CC lea eax, [ebp-$34]
007A62AA BA0D000000 mov edx, $0000000D
* Reference to: system.@LStrArrayClr;
|
007A62AF E860DDC5FF call 00404014
007A62B4 C3 ret
* Reference to: system.@HandleFinally;
|
007A62B5 E9B2D7C5FF jmp 00403A6C
007A62BA EBC6 jmp 007A6282
****** END
|
007A62BC 5E pop esi
007A62BD 5B pop ebx
007A62BE 8BE5 mov esp, ebp
007A62C0 5D pop ebp
007A62C1 C3 ret
*)
end;
[培训]科锐逆向工程师培训第53期2025年7月8日开班!