首页
社区
课程
招聘
求教这段代码的加密算法
发表于: 2005-2-10 02:06 4657

求教这段代码的加密算法

2005-2-10 02:06
4657
各位下面代码的加密算法是什么,这是一个数据库软件的注册Form,这个软件对作数据库开发很有帮助,下载

http://zhangxzh.nease.net/down/DataBaseTool.exe

我的汇编基本上不懂,本人先谢过呢哈

unit U_regist;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls;
type
  TForm_regist=class(TForm)
    GroupBox3: TGroupBox;
    FlatButton11: TFlatButton;
    Edit1: TEdit;
    Label1: TLabel;
    FlatButton1: TFlatButton;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    procedure FlatButton11Click(Sender : TObject);
    procedure FlatButton1Click(Sender : TObject);
    procedure Label2Click(Sender : TObject);
    procedure Label2MouseLeave(Sender : TObject);
    procedure Label2MouseEnter(Sender : TObject);
    procedure FormShow(Sender : TObject);
    procedure FormClose(Sender : TObject);
    procedure Proc_00515C78(Sender : TObject);
    procedure Proc_005163A4(Sender : TObject);
    procedure Proc_00515D6C(Sender : TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end ;

var
  Form_regist: TForm_regist;

{This file is generated by DeDe Ver 3.50.02 Copyright (c) 1999-2002 DaFixer}

implementation

{$R *.DFM}

procedure TForm_regist.FlatButton11Click(Sender : TObject);
begin
(*

* Reference to: Forms.TCustomForm.Close(TCustomForm);
|
00515C70   E8FB08F5FF             call    00466570
00515C75   C3                     ret

*)
end;

procedure TForm_regist.FlatButton1Click(Sender : TObject);
begin
(*
00515E7C   55                     push    ebp
00515E7D   8BEC                   mov     ebp, esp
00515E7F   6A00                   push    $00
00515E81   6A00                   push    $00
00515E83   53                     push    ebx
00515E84   8BD8                   mov     ebx, eax
00515E86   33C0                   xor     eax, eax
00515E88   55                     push    ebp
00515E89   68205F5100             push    $00515F20

***** TRY
|
00515E8E   64FF30                 push    dword ptr fs:[eax]
00515E91   648920                 mov     fs:[eax], esp
00515E94   8D55FC                 lea     edx, [ebp-$04]

* Reference to control TForm_regist.Edit2 : TEdit
|
00515E97   8B830C030000           mov     eax, [ebx+$030C]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
00515E9D   E8F633F3FF             call    00449298
00515EA2   8B45FC                 mov     eax, [ebp-$04]

* Reference to: Unit_004080C4.Proc_0040AC3C
|
00515EA5   E8924DEFFF             call    0040AC3C
00515EAA   83C4F8                 add     esp, -$08
00515EAD   DD1C24                 fstp    qword ptr [esp]
00515EB0   9B                     wait
00515EB1   8D55F8                 lea     edx, [ebp-$08]

* Reference to control TForm_regist.Edit1 : TEdit
|
00515EB4   8B83F8020000           mov     eax, [ebx+$02F8]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
00515EBA   E8D933F3FF             call    00449298
00515EBF   8B55F8                 mov     edx, [ebp-$08]
00515EC2   8BC3                   mov     eax, ebx

* Reference to : TForm_regist.Proc_00515C78()
|
00515EC4   E8AFFDFFFF             call    00515C78
00515EC9   84C0                   test    al, al
00515ECB   742E                   jz      00515EFB
00515ECD   C6058860520001         mov     byte ptr [$00526088], $01
00515ED4   8BC3                   mov     eax, ebx

* Reference to : TForm_regist.Proc_00515D6C()
|
00515ED6   E891FEFFFF             call    00515D6C

* Possible String Reference to: '注册成功!,请记下随机码.如果改变机器,请使用原来的随机码和注册码进行注册!'
|
00515EDB   B8345F5100             mov     eax, $00515F34

* Reference to: Unit_005163A5.Proc_00516DE8
|
00515EE0   E8030F0000             call    00516DE8

* Reference to TForm_main instance
|
00515EE5   A1303E5200             mov     eax, dword ptr [$00523E30]
00515EEA   8B00                   mov     eax, [eax]

* Reference to control TForm_main.Label19 : TLabel
|
00515EEC   8B80DC030000           mov     eax, [eax+$03DC]
00515EF2   33D2                   xor     edx, edx

* Reference to: Controls.TControl.SetVisible(TControl;Boolean);
|
00515EF4   E8BF32F3FF             call    004491B8
00515EF9   EB0A                   jmp     00515F05

* Possible String Reference to: '注册失败!'
|
00515EFB   B8845F5100             mov     eax, $00515F84

* Reference to: Unit_005163A5.Proc_00516DE8
|
00515F00   E8E30E0000             call    00516DE8
00515F05   33C0                   xor     eax, eax
00515F07   5A                     pop     edx
00515F08   59                     pop     ecx
00515F09   59                     pop     ecx
00515F0A   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '[YY]???'
|
00515F0D   68275F5100             push    $00515F27
00515F12   8D45F8                 lea     eax, [ebp-$08]
00515F15   BA02000000             mov     edx, $00000002

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
00515F1A   E871E8EEFF             call    00404790
00515F1F   C3                     ret


* Reference to: System.@HandleFinally;
|
00515F20   E90BE1EEFF             jmp     00404030
00515F25   EBEB                   jmp     00515F12

****** END
|
00515F27   5B                     pop     ebx
00515F28   59                     pop     ecx
00515F29   59                     pop     ecx
00515F2A   5D                     pop     ebp
00515F2B   C3                     ret

*)
end;

procedure TForm_regist.Label2Click(Sender : TObject);
begin
(*
00515F90   55                     push    ebp
00515F91   8BEC                   mov     ebp, esp
00515F93   6A00                   push    $00
00515F95   53                     push    ebx
00515F96   8BD8                   mov     ebx, eax
00515F98   33C0                   xor     eax, eax
00515F9A   55                     push    ebp

* Possible String Reference to: '槟囝?疔Y]?
|
00515F9B   68E75F5100             push    $00515FE7

***** TRY
|
00515FA0   64FF30                 push    dword ptr fs:[eax]
00515FA3   648920                 mov     fs:[eax], esp
00515FA6   8D45FC                 lea     eax, [ebp-$04]

* Possible String Reference to: 'http://www.softreg.com.cn/shareware_view.asp?id=/8D105881-FDB2-4E09-B64A-1FFDE051F329/'
|
00515FA9   BAFC5F5100             mov     edx, $00515FFC

* Reference to: System.@LStrLAsg(void;void;void;void);
|
00515FAE   E851E8EEFF             call    00404804
00515FB3   6A01                   push    $01
00515FB5   6A00                   push    $00
00515FB7   6A00                   push    $00
00515FB9   8B45FC                 mov     eax, [ebp-$04]

* Reference to: System.@LStrToPChar(String):PAnsiChar;
|
00515FBC   E85BECEEFF             call    00404C1C
00515FC1   50                     push    eax
00515FC2   6A00                   push    $00
00515FC4   8BC3                   mov     eax, ebx

* Reference to: Controls.TWinControl.GetHandle(TWinControl):HWND;
|
00515FC6   E8659BF3FF             call    0044FB30
00515FCB   50                     push    eax

* Reference to: shell32.ShellExecuteA()
|
00515FCC   E8BB55F2FF             call    0043B58C
00515FD1   33C0                   xor     eax, eax
00515FD3   5A                     pop     edx
00515FD4   59                     pop     ecx
00515FD5   59                     pop     ecx
00515FD6   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '[Y]?
|
00515FD9   68EE5F5100             push    $00515FEE
00515FDE   8D45FC                 lea     eax, [ebp-$04]

* Reference to: System.@LStrClr(void;void);
|
00515FE1   E886E7EEFF             call    0040476C
00515FE6   C3                     ret


* Reference to: System.@HandleFinally;
|
00515FE7   E944E0EEFF             jmp     00404030
00515FEC   EBF0                   jmp     00515FDE

****** END
|
00515FEE   5B                     pop     ebx
00515FEF   59                     pop     ecx
00515FF0   5D                     pop     ebp
00515FF1   C3                     ret

*)
end;

procedure TForm_regist.Label2MouseLeave(Sender : TObject);
begin
(*
00516054   8B4268                 mov     eax, [edx+$68]
00516057   BA0000FF00             mov     edx, $00FF0000

* Reference to: Graphics.TFont.SetColor(TFont;TColor);
|
0051605C   E85FF4F0FF             call    004254C0
00516061   C3                     ret

*)
end;

procedure TForm_regist.Label2MouseEnter(Sender : TObject);
begin
(*
00516064   8B4268                 mov     eax, [edx+$68]
00516067   BAFF000000             mov     edx, $000000FF

* Reference to: Graphics.TFont.SetColor(TFont;TColor);
|
0051606C   E84FF4F0FF             call    004254C0
00516071   C3                     ret

*)
end;

procedure TForm_regist.FormShow(Sender : TObject);
begin
(*
00516074   55                     push    ebp
00516075   8BEC                   mov     ebp, esp
00516077   B907000000             mov     ecx, $00000007
0051607C   6A00                   push    $00
0051607E   6A00                   push    $00
00516080   49                     dec     ecx
00516081   75F9                   jnz     0051607C
00516083   51                     push    ecx
00516084   53                     push    ebx
00516085   56                     push    esi
00516086   57                     push    edi
00516087   8945FC                 mov     [ebp-$04], eax
0051608A   33C0                   xor     eax, eax
0051608C   55                     push    ebp

* Possible String Reference to: '?揞?捱^[?]?
|
0051608D   68F1615100             push    $005161F1

***** TRY
|
00516092   64FF30                 push    dword ptr fs:[eax]
00516095   648920                 mov     fs:[eax], esp
00516098   B201                   mov     dl, $01

* Reference to class TRegistry
|
0051609A   A154974A00             mov     eax, dword ptr [$004A9754]

* Reference to: Unit_004A96F4.Proc_004A9854
|
0051609F   E8B037F9FF             call    004A9854
005160A4   8BD8                   mov     ebx, eax
005160A6   BA02000080             mov     edx, $80000002
005160AB   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A98F4
|
005160AD   E84238F9FF             call    004A98F4
005160B2   33C9                   xor     ecx, ecx

* Possible String Reference to: '\Software\Microsoft\windows\currentversion\'
|
005160B4   BA08625100             mov     edx, $00516208
005160B9   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9958
|
005160BB   E89838F9FF             call    004A9958
005160C0   84C0                   test    al, al
005160C2   7513                   jnz     005160D7
005160C4   33C9                   xor     ecx, ecx
005160C6   B201                   mov     dl, $01

* Reference to class Exception
|
005160C8   A1F4804000             mov     eax, dword ptr [$004080F4]

* Reference to: Unit_004080C4.Proc_0040CFDC
|
005160CD   E80A6FEFFF             call    0040CFDC

* Reference to: System.@RaiseExcept;
|
005160D2   E855E0EEFF             call    0040412C
005160D7   8D4DE0                 lea     ecx, [ebp-$20]

* Possible String Reference to: 'RandomNo2'
|
005160DA   BA3C625100             mov     edx, $0051623C
005160DF   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9B20
|
005160E1   E83A3AF9FF             call    004A9B20
005160E6   8B45E0                 mov     eax, [ebp-$20]
005160E9   8D55E4                 lea     edx, [ebp-$1C]

* Reference to: Unit_004080C4.Proc_00409010
|
005160EC   E81F2FEFFF             call    00409010
005160F1   837DE400               cmp     dword ptr [ebp-$1C], +$00
005160F5   0F8598000000           jnz     00516193

* Reference to: Unit_004080C4.Proc_0040B170
|
005160FB   E87050EFFF             call    0040B170
00516100   83C4F4                 add     esp, -$0C
00516103   DB3C24                 fstp    tbyte ptr [esp]
00516106   9B                     wait
00516107   8D45EC                 lea     eax, [ebp-$14]

* Reference to: Unit_004080C4.Proc_0040AABC
|
0051610A   E8AD49EFFF             call    0040AABC
0051610F   8D45E8                 lea     eax, [ebp-$18]

* Reference to: System.@LStrClr(void;void);
|
00516112   E855E6EEFF             call    0040476C
00516117   8B45EC                 mov     eax, [ebp-$14]

* Reference to: System.@LStrLen(String):Integer;
|           or: System.@DynArrayLength;
|           or: System.DynArraySize(Pointer):Integer;
|
0051611A   E805E9EEFF             call    00404A24
0051611F   8BF8                   mov     edi, eax
00516121   8BDF                   mov     ebx, edi
00516123   85DB                   test    ebx, ebx
00516125   7E27                   jle     0051614E
00516127   BE01000000             mov     esi, $00000001
0051612C   8D45DC                 lea     eax, [ebp-$24]
0051612F   8BD7                   mov     edx, edi
00516131   2BD6                   sub     edx, esi
00516133   8B4DEC                 mov     ecx, [ebp-$14]
00516136   8A5411FF               mov     dl, byte ptr [ecx+edx-$01]

* 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);
|
0051613A   E80DE8EEFF             call    0040494C
0051613F   8B55DC                 mov     edx, [ebp-$24]
00516142   8D45E8                 lea     eax, [ebp-$18]

* Reference to: System.@LStrCat;
|
00516145   E8E2E8EEFF             call    00404A2C
0051614A   46                     inc     esi
0051614B   4B                     dec     ebx
0051614C   75DE                   jnz     0051612C
0051614E   8B45E8                 mov     eax, [ebp-$18]

* Reference to: Unit_004080C4.Proc_0040AC3C
|
00516151   E8E64AEFFF             call    0040AC3C
00516156   DB7DD0                 fstp    tbyte ptr [ebp-$30]
00516159   9B                     wait

* Reference to: Unit_004080C4.Proc_0040B144
|
0051615A   E8E54FEFFF             call    0040B144
0051615F   D80D48625100           fmul    dword ptr [$00516248]
00516165   DB6DD0                 fld     tbyte ptr [ebp-$30]
00516168   DEC1                   faddp   st(1), st(0)
0051616A   DD5DF0                 fstp    qword ptr [ebp-$10]
0051616D   9B                     wait
0051616E   DD45F0                 fld     qword ptr [ebp-$10]
00516171   83C4F4                 add     esp, -$0C
00516174   DB3C24                 fstp    tbyte ptr [esp]
00516177   9B                     wait
00516178   8D45CC                 lea     eax, [ebp-$34]

* Reference to: Unit_004080C4.Proc_0040AABC
|
0051617B   E83C49EFFF             call    0040AABC
00516180   8B55CC                 mov     edx, [ebp-$34]
00516183   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm_regist.Edit2 : TEdit
|
00516186   8B800C030000           mov     eax, [eax+$030C]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
0051618C   E83731F3FF             call    004492C8
00516191   EB36                   jmp     005161C9
00516193   8D45C8                 lea     eax, [ebp-$38]
00516196   50                     push    eax
00516197   8D4DC4                 lea     ecx, [ebp-$3C]

* Possible String Reference to: 'RandomNo2'
|
0051619A   BA3C625100             mov     edx, $0051623C
0051619F   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9B20
|
005161A1   E87A39F9FF             call    004A9B20
005161A6   8B45C4                 mov     eax, [ebp-$3C]
005161A9   B901000000             mov     ecx, $00000001

* Possible String Reference to: 'zxz'
|
005161AE   BA54625100             mov     edx, $00516254

* Reference to: Unit_005163A5.Proc_00516E50
|
005161B3   E8980C0000             call    00516E50
005161B8   8B55C8                 mov     edx, [ebp-$38]
005161BB   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm_regist.Edit2 : TEdit
|
005161BE   8B800C030000           mov     eax, [eax+$030C]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
005161C4   E8FF30F3FF             call    004492C8
005161C9   33C0                   xor     eax, eax
005161CB   5A                     pop     edx
005161CC   59                     pop     ecx
005161CD   59                     pop     ecx
005161CE   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '_^[?]?
|
005161D1   68F8615100             push    $005161F8
005161D6   8D45C4                 lea     eax, [ebp-$3C]
005161D9   BA03000000             mov     edx, $00000003

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
005161DE   E8ADE5EEFF             call    00404790
005161E3   8D45DC                 lea     eax, [ebp-$24]
005161E6   BA05000000             mov     edx, $00000005

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
005161EB   E8A0E5EEFF             call    00404790
005161F0   C3                     ret


* Reference to: System.@HandleFinally;
|
005161F1   E93ADEEEFF             jmp     00404030
005161F6   EBDE                   jmp     005161D6

****** END
|
005161F8   5F                     pop     edi
005161F9   5E                     pop     esi
005161FA   5B                     pop     ebx
005161FB   8BE5                   mov     esp, ebp
005161FD   5D                     pop     ebp
005161FE   C3                     ret

*)
end;

procedure TForm_regist.FormClose(Sender : TObject);
begin
(*
00516258   55                     push    ebp
00516259   8BEC                   mov     ebp, esp
0051625B   6A00                   push    $00
0051625D   6A00                   push    $00
0051625F   53                     push    ebx
00516260   56                     push    esi
00516261   8BF0                   mov     esi, eax
00516263   33C0                   xor     eax, eax
00516265   55                     push    ebp

* Possible String Reference to: '?蓊?柁[YY]?
|
00516266   68FE625100             push    $005162FE

***** TRY
|
0051626B   64FF30                 push    dword ptr fs:[eax]
0051626E   648920                 mov     fs:[eax], esp
00516271   B201                   mov     dl, $01

* Reference to class TRegistry
|
00516273   A154974A00             mov     eax, dword ptr [$004A9754]

* Reference to: Unit_004A96F4.Proc_004A9854
|
00516278   E8D735F9FF             call    004A9854
0051627D   8BD8                   mov     ebx, eax
0051627F   BA02000080             mov     edx, $80000002
00516284   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A98F4
|
00516286   E86936F9FF             call    004A98F4
0051628B   33C9                   xor     ecx, ecx

* Possible String Reference to: '\Software\Microsoft\windows\currentversion\'
|
0051628D   BA14635100             mov     edx, $00516314
00516292   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9958
|
00516294   E8BF36F9FF             call    004A9958
00516299   84C0                   test    al, al
0051629B   7513                   jnz     005162B0
0051629D   33C9                   xor     ecx, ecx
0051629F   B201                   mov     dl, $01

* Reference to class Exception
|
005162A1   A1F4804000             mov     eax, dword ptr [$004080F4]

* Reference to: Unit_004080C4.Proc_0040CFDC
|
005162A6   E8316DEFFF             call    0040CFDC

* Reference to: System.@RaiseExcept;
|
005162AB   E87CDEEEFF             call    0040412C
005162B0   8D45FC                 lea     eax, [ebp-$04]
005162B3   50                     push    eax
005162B4   8D55F8                 lea     edx, [ebp-$08]

* Reference to control TForm_regist.Edit2 : TEdit
|
005162B7   8B860C030000           mov     eax, [esi+$030C]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005162BD   E8D62FF3FF             call    00449298
005162C2   8B45F8                 mov     eax, [ebp-$08]
005162C5   33C9                   xor     ecx, ecx

* Possible String Reference to: 'zxz'
|
005162C7   BA48635100             mov     edx, $00516348

* Reference to: Unit_005163A5.Proc_00516E50
|
005162CC   E87F0B0000             call    00516E50
005162D1   8B4DFC                 mov     ecx, [ebp-$04]

* Possible String Reference to: 'RandomNo2'
|
005162D4   BA54635100             mov     edx, $00516354
005162D9   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9AF4
|
005162DB   E81438F9FF             call    004A9AF4
005162E0   33C0                   xor     eax, eax
005162E2   5A                     pop     edx
005162E3   59                     pop     ecx
005162E4   59                     pop     ecx
005162E5   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '^[YY]?
|
005162E8   6805635100             push    $00516305
005162ED   8D45F8                 lea     eax, [ebp-$08]

* Reference to: System.@LStrClr(void;void);
|
005162F0   E877E4EEFF             call    0040476C
005162F5   8D45FC                 lea     eax, [ebp-$04]

* Reference to: System.@LStrClr(void;void);
|
005162F8   E86FE4EEFF             call    0040476C
005162FD   C3                     ret


* Reference to: System.@HandleFinally;
|
005162FE   E92DDDEEFF             jmp     00404030
00516303   EBE8                   jmp     005162ED

****** END
|
00516305   5E                     pop     esi
00516306   5B                     pop     ebx
00516307   59                     pop     ecx
00516308   59                     pop     ecx
00516309   5D                     pop     ebp
0051630A   C3                     ret

*)
end;

procedure TForm_regist.Proc_00515C78(Sender : TObject);
begin
(*
00515C78   55                     push    ebp
00515C79   8BEC                   mov     ebp, esp
00515C7B   33C9                   xor     ecx, ecx
00515C7D   51                     push    ecx
00515C7E   51                     push    ecx
00515C7F   51                     push    ecx
00515C80   51                     push    ecx
00515C81   51                     push    ecx
00515C82   53                     push    ebx
00515C83   56                     push    esi
00515C84   8955FC                 mov     [ebp-$04], edx
00515C87   8B45FC                 mov     eax, [ebp-$04]

* Reference to: System.@LStrAddRef(void;void):Pointer;
|
00515C8A   E87DEFEEFF             call    00404C0C
00515C8F   33C0                   xor     eax, eax
00515C91   55                     push    ebp
00515C92   683D5D5100             push    $00515D3D

***** TRY
|
00515C97   64FF30                 push    dword ptr fs:[eax]
00515C9A   648920                 mov     fs:[eax], esp
00515C9D   33DB                   xor     ebx, ebx
00515C9F   8D55F8                 lea     edx, [ebp-$08]
00515CA2   8B45FC                 mov     eax, [ebp-$04]

* Reference to: Unit_004080C4.Proc_00409010
|
00515CA5   E86633EFFF             call    00409010
00515CAA   DD4508                 fld     qword ptr [ebp+$08]
00515CAD   D80D505D5100           fmul    dword ptr [$00515D50]
00515CB3   DB2D545D5100           fld     tbyte ptr [$00515D54]
00515CB9   DEF9                   fdivp   st(1), st(0)
00515CBB   83C4F4                 add     esp, -$0C
00515CBE   DB3C24                 fstp    tbyte ptr [esp]
00515CC1   9B                     wait
00515CC2   8D45F4                 lea     eax, [ebp-$0C]

* Reference to: Unit_004080C4.Proc_0040AABC
|
00515CC5   E8F24DEFFF             call    0040AABC
00515CCA   8B55F4                 mov     edx, [ebp-$0C]
00515CCD   B8685D5100             mov     eax, $00515D68

* Reference to: System.@LStrPos;
|
00515CD2   E889F0EEFF             call    00404D60
00515CD7   8BF0                   mov     esi, eax
00515CD9   8D45F0                 lea     eax, [ebp-$10]
00515CDC   50                     push    eax
00515CDD   8D5601                 lea     edx, [esi+$01]
00515CE0   B904000000             mov     ecx, $00000004
00515CE5   8B45F4                 mov     eax, [ebp-$0C]

* Reference to: System.@LStrCopy;
|
00515CE8   E88FEFEEFF             call    00404C7C
00515CED   8B45F0                 mov     eax, [ebp-$10]
00515CF0   50                     push    eax
00515CF1   8D45EC                 lea     eax, [ebp-$14]
00515CF4   50                     push    eax
00515CF5   8BD6                   mov     edx, esi
00515CF7   83EA05                 sub     edx, +$05
00515CFA   B905000000             mov     ecx, $00000005
00515CFF   8B45F4                 mov     eax, [ebp-$0C]

* Reference to: System.@LStrCopy;
|
00515D02   E875EFEEFF             call    00404C7C
00515D07   8B55EC                 mov     edx, [ebp-$14]
00515D0A   8D45F4                 lea     eax, [ebp-$0C]
00515D0D   59                     pop     ecx

* Reference to: System.@LStrCat3;
|
00515D0E   E85DEDEEFF             call    00404A70
00515D13   8B45F8                 mov     eax, [ebp-$08]
00515D16   8B55F4                 mov     edx, [ebp-$0C]

* Reference to: System.@LStrCmp;
|
00515D19   E84AEEEEFF             call    00404B68
00515D1E   7502                   jnz     00515D22
00515D20   B301                   mov     bl, $01
00515D22   33C0                   xor     eax, eax
00515D24   5A                     pop     edx
00515D25   59                     pop     ecx
00515D26   59                     pop     ecx
00515D27   648910                 mov     fs:[eax], edx

****** FINALLY
|
00515D2A   68445D5100             push    $00515D44
00515D2F   8D45EC                 lea     eax, [ebp-$14]
00515D32   BA05000000             mov     edx, $00000005

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
00515D37   E854EAEEFF             call    00404790
00515D3C   C3                     ret


* Reference to: System.@HandleFinally;
|
00515D3D   E9EEE2EEFF             jmp     00404030
00515D42   EBEB                   jmp     00515D2F

****** END
|
00515D44   8BC3                   mov     eax, ebx
00515D46   5E                     pop     esi
00515D47   5B                     pop     ebx
00515D48   8BE5                   mov     esp, ebp
00515D4A   5D                     pop     ebp
00515D4B   C20800                 ret     $0008

*)
end;

procedure TForm_regist.Proc_005163A4(Sender : TObject);
begin
(*
005163A4   55                     push    ebp
005163A5   8BEC                   mov     ebp, esp
005163A7   51                     push    ecx
005163A8   B907000000             mov     ecx, $00000007
005163AD   6A00                   push    $00
005163AF   6A00                   push    $00
005163B1   49                     dec     ecx
005163B2   75F9                   jnz     005163AD
005163B4   874DFC                 xchg    [ebp-$04], ecx
005163B7   53                     push    ebx
005163B8   56                     push    esi
005163B9   57                     push    edi
005163BA   8BF9                   mov     edi, ecx
005163BC   8855FB                 mov     [ebp-$05], dl
005163BF   8945FC                 mov     [ebp-$04], eax
005163C2   8B7508                 mov     esi, [ebp+$08]
005163C5   8B5D10                 mov     ebx, [ebp+$10]
005163C8   8B45FC                 mov     eax, [ebp-$04]

* Reference to: System.@LStrAddRef(void;void):Pointer;
|
005163CB   E83CE8EEFF             call    00404C0C
005163D0   33C0                   xor     eax, eax
005163D2   55                     push    ebp
005163D3   68CF675100             push    $005167CF

***** TRY
|
005163D8   64FF30                 push    dword ptr fs:[eax]
005163DB   648920                 mov     fs:[eax], esp
005163DE   C60301                 mov     byte ptr [ebx], $01
005163E1   8D55F4                 lea     edx, [ebp-$0C]
005163E4   8B450C                 mov     eax, [ebp+$0C]

* Reference to: Unit_004080C4.Proc_004093C4
|
005163E7   E8D82FEFFF             call    004093C4
005163EC   33C0                   xor     eax, eax
005163EE   8A45FB                 mov     al, byte ptr [ebp-$05]
005163F1   83F825                 cmp     eax, +$25
005163F4   0F87B2030000           jnbe    005167AC
005163FA   FF248501645100         jmp     dword ptr [$516401+eax*4]
00516401   AC                     lodsb
00516402   6751                   push    ecx
00516404   0081675100AC           add     [ecx+$AC005167], al
0051640A   6751                   push    ecx
0051640C   00AC675100AC67         add     [edi+$67AC0051], ch
00516413   51                     push    ecx
00516414   007367                 add     [ebx+$67], dh
00516417   51                     push    ecx
00516418   0099645100A9           add     [ecx+$A9005164], bl
0051641E   6451                   push    ecx
00516420   00B9645100C7           add     [ecx+$C7005164], bh
00516426   6451                   push    ecx
00516428   00D8                   add     al, bl
0051642A   6451                   push    ecx
0051642C   00E9                   add     cl, ch
0051642E   6451                   push    ecx
00516430   00FA                   add     dl, bh
00516432   6451                   push    ecx
00516434   000A                   add     [edx], cl
00516436   6551                   push    ecx
00516438   001A                   add     [edx], bl
0051643A   6551                   push    ecx
0051643C   002E                   add     [esi], ch
0051643E   6551                   push    ecx
00516440   004265                 add     [edx+$65], al
00516443   51                     push    ecx
00516444   007265                 add     [edx+$65], dh
00516447   51                     push    ecx
00516448   0086655100B6           add     [esi+$B6005165], al
0051644E   6551                   push    ecx
00516450   00CA                   add     dl, cl
00516452   6551                   push    ecx
00516454   00DE                   add     dh, bl
00516456   6551                   push    ecx
00516458   00F2                   add     dl, dh
0051645A   6551                   push    ecx
0051645C   0006                   add     [esi], al
0051645E   6651                   push    cx
00516460   0036                   add     [esi], dh
00516462   6651                   push    cx
00516464   006666                 add     [esi+$66], ah
00516467   51                     push    ecx
00516468   007666                 add     [esi+$66], dh
0051646B   51                     push    ecx
0051646C   008A6651009E           add     [edx+$9E005166], cl
00516472   6651                   push    cx
00516474   00B2665100C6           add     [edx+$C6005166], dh
0051647A   6651                   push    cx
0051647C   00DA                   add     dl, bl
0051647E   6651                   push    cx
00516480   00EE                   add     dh, ch
00516482   6651                   push    cx
00516484   001E                   add     [esi], bl
00516486   6751                   push    ecx
00516488   002F                   add     [edi], ch
0051648A   6751                   push    ecx
0051648C   004067                 add     [eax+$67], al
0051648F   51                     push    ecx
00516490   005167                 add     [ecx+$67], dl
00516493   51                     push    ecx
00516494   006267                 add     [edx+$67], ah
00516497   51                     push    ecx
00516498   008BC633D2B1           add     [ebx+$B1D233C6], cl
0051649E   01E8                   add     eax, ebp
005164A0   08F4                   or      ah, dh
005164A2   EE                     out     dx, al
005164A3   FFE9                   jmp     cx
005164A5   0303                   add     eax, [ebx]
005164A7   0000                   add     [eax], al
005164A9   8BC6                   mov     eax, esi
005164AB   33D2                   xor     edx, edx
005164AD   B101                   mov     cl, $01
*)
end;

procedure TForm_regist.Proc_00515D6C(Sender : TObject);
begin
(*
00515D6C   55                     push    ebp
00515D6D   8BEC                   mov     ebp, esp
00515D6F   6A00                   push    $00
00515D71   6A00                   push    $00
00515D73   53                     push    ebx
00515D74   56                     push    esi
00515D75   8BF0                   mov     esi, eax
00515D77   33C0                   xor     eax, eax
00515D79   55                     push    ebp
00515D7A   68195E5100             push    $00515E19

***** TRY
|
00515D7F   64FF30                 push    dword ptr fs:[eax]
00515D82   648920                 mov     fs:[eax], esp
00515D85   B201                   mov     dl, $01

* Reference to class TRegistry
|
00515D87   A154974A00             mov     eax, dword ptr [$004A9754]

* Reference to: Unit_004A96F4.Proc_004A9854
|
00515D8C   E8C33AF9FF             call    004A9854
00515D91   8BD8                   mov     ebx, eax
00515D93   BA02000080             mov     edx, $80000002
00515D98   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A98F4
|
00515D9A   E8553BF9FF             call    004A98F4
00515D9F   33C9                   xor     ecx, ecx

* Possible String Reference to: '\Software\Microsoft\windows\currentversion\'
|
00515DA1   BA305E5100             mov     edx, $00515E30
00515DA6   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9958
|
00515DA8   E8AB3BF9FF             call    004A9958
00515DAD   84C0                   test    al, al
00515DAF   7513                   jnz     00515DC4
00515DB1   33C9                   xor     ecx, ecx
00515DB3   B201                   mov     dl, $01

* Reference to class Exception
|
00515DB5   A1F4804000             mov     eax, dword ptr [$004080F4]

* Reference to: Unit_004080C4.Proc_0040CFDC
|
00515DBA   E81D72EFFF             call    0040CFDC

* Reference to: System.@RaiseExcept;
|
00515DBF   E868E3EEFF             call    0040412C
00515DC4   8D45FC                 lea     eax, [ebp-$04]
00515DC7   50                     push    eax
00515DC8   8D55F8                 lea     edx, [ebp-$08]

* Reference to control TForm_regist.Edit1 : TEdit
|
00515DCB   8B86F8020000           mov     eax, [esi+$02F8]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
00515DD1   E8C234F3FF             call    00449298
00515DD6   8B45F8                 mov     eax, [ebp-$08]
00515DD9   33C9                   xor     ecx, ecx

* Possible String Reference to: 'zxz'
|
00515DDB   BA645E5100             mov     edx, $00515E64

* Reference to: Unit_005163A5.Proc_00516E50
|
00515DE0   E86B100000             call    00516E50
00515DE5   8B4DFC                 mov     ecx, [ebp-$04]

* Possible String Reference to: 'RandomNo'
|
00515DE8   BA705E5100             mov     edx, $00515E70
00515DED   8BC3                   mov     eax, ebx

* Reference to: Unit_004A96F4.Proc_004A9AF4
|
00515DEF   E8003DF9FF             call    004A9AF4
00515DF4   8BC3                   mov     eax, ebx

* Reference to: System.TObject.Free(TObject);
|
00515DF6   E8A1DAEEFF             call    0040389C
00515DFB   33C0                   xor     eax, eax
00515DFD   5A                     pop     edx
00515DFE   59                     pop     ecx
00515DFF   59                     pop     ecx
00515E00   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '^[YY]?
|
00515E03   68205E5100             push    $00515E20
00515E08   8D45F8                 lea     eax, [ebp-$08]

* Reference to: System.@LStrClr(void;void);
|
00515E0B   E85CE9EEFF             call    0040476C
00515E10   8D45FC                 lea     eax, [ebp-$04]

* Reference to: System.@LStrClr(void;void);
|
00515E13   E854E9EEFF             call    0040476C
00515E18   C3                     ret


* Reference to: System.@HandleFinally;
|
00515E19   E912E2EEFF             jmp     00404030
00515E1E   EBE8                   jmp     00515E08

****** END
|
00515E20   5E                     pop     esi
00515E21   5B                     pop     ebx
00515E22   59                     pop     ecx
00515E23   59                     pop     ecx
00515E24   5D                     pop     ebp
00515E25   C3                     ret

*)
end;

end.


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
2
那么就去学啊
关键在00515E97到00515ECB之间
2005-2-10 10:05
0
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也学学,谢谢
2005-2-12 19:40
0
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
爆破成功

2005-2-12 19:59
0
雪    币: 1192
活跃值: (1614)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
00515EC4   E8AFFDFFFF             call    00515C78;没调试,这个应该就是关键Call
00515EC9   84C0                   test    al, al
00515ECB   742E                   jz      00515EFB;关键跳转,爆破的话,可以改这里
2005-2-12 20:04
0
雪    币: 1192
活跃值: (1614)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
00515D19   |.  E8 4AEEEEFF       call DataBase.00404B68;关键比较Call,此时EDX的值即为真注册码,没必要看算法,无非利用产生的随机数进行浮点加减乘除运算,取小数点前5位后4位组合为注册码
00515D1E   |.  75 02             jnz short DataBase.00515D22
00515D20   |.  B3 01             mov bl,1

随机数经过变换存于下面
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RandomNo2
注册码经过变换存于下面
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RandomNo
2005-2-12 21:40
0
游客
登录 | 注册 方可回帖
返回
//