⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 大名鼎鼎的BLUE M2源码,非了好大的劲搞来的,修改日期是080514,需要的朋友可以拿去研究,呵呵,M2界的领头老大.
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls
type
  TFrmMain=class(TForm)
    ServerSocket: TServerSocket;
    MemoLog: TMemo;
    SendTimer: TTimer;
    ClientSocket: TClientSocket;
    Panel: TPanel;
    Timer: TTimer;
    DecodeTimer: TTimer;
    LbHold: TLabel;
    LbLack: TLabel;
    Label2: TLabel;
    StatusBar: TStatusBar;
    MainMenu: TMainMenu;
    MENU_CONTROL: TMenuItem;
    StartTimer: TTimer;
    MENU_CONTROL_START: TMenuItem;
    MENU_CONTROL_STOP: TMenuItem;
    MENU_CONTROL_RECONNECT: TMenuItem;
    MENU_CONTROL_CLEAELOG: TMenuItem;
    MENU_CONTROL_EXIT: TMenuItem;
    MENU_VIEW: TMenuItem;
    MENU_VIEW_LOGMSG: TMenuItem;
    MENU_OPTION: TMenuItem;
    MENU_OPTION_GENERAL: TMenuItem;
    MENU_OPTION_IPFILTER: TMenuItem;
    procedure MemoLogChange(Sender : TObject);
    procedure FormDestroy(Sender : TObject);
    procedure SendTimerTimer(Sender : TObject);
    procedure TimerTimer(Sender : TObject);
    procedure DecodeTimerTimer(Sender : TObject);
    procedure ClientSocketConnect(Sender : TObject);
    procedure ClientSocketDisconnect(Sender : TObject);
    procedure ClientSocketError(Sender : TObject);
    procedure ClientSocketRead(Sender : TObject);
    procedure ServerSocketClientConnect(Sender : TObject);
    procedure ServerSocketClientDisconnect(Sender : TObject);
    procedure ServerSocketClientError(Sender : TObject);
    procedure ServerSocketClientRead(Sender : TObject);
    procedure FormCloseQuery(Sender : TObject);
    procedure StartTimerTimer(Sender : TObject);
    procedure FormCreate(Sender : TObject);
    procedure MENU_CONTROL_STARTClick(Sender : TObject);
    procedure MENU_CONTROL_STOPClick(Sender : TObject);
    procedure MENU_CONTROL_RECONNECTClick(Sender : TObject);
    procedure MENU_CONTROL_CLEAELOGClick(Sender : TObject);
    procedure MENU_CONTROL_EXITClick(Sender : TObject);
    procedure MENU_VIEW_LOGMSGClick(Sender : TObject);
    procedure MENU_OPTION_GENERALClick(Sender : TObject);
    procedure MENU_OPTION_IPFILTERClick(Sender : TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end ;

var
  FrmMain: TFrmMain;

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

implementation

{$R *.DFM}

procedure TFrmMain.MemoLogChange(Sender : TObject);
begin
(*
0047220C   56                     push    esi
0047220D   8BF0                   mov     esi, eax
0047220F   8B86FC020000           mov     eax, [esi+$02FC]
00472215   8B8020020000           mov     eax, [eax+$0220]
0047221B   8B10                   mov     edx, [eax]
0047221D   FF5214                 call    dword ptr [edx+$14]
00472220   3DC8000000             cmp     eax, $000000C8
00472225   7E0E                   jle     00472235
00472227   8B86FC020000           mov     eax, [esi+$02FC]
0047222D   8B10                   mov     edx, [eax]
0047222F   FF92E0000000           call    dword ptr [edx+$00E0]
00472235   5E                     pop     esi
00472236   C3                     ret

*)
end;

procedure TFrmMain.FormDestroy(Sender : TObject);
begin
(*
00472238   53                     push    ebx
00472239   56                     push    esi
0047223A   8B8060030000           mov     eax, [eax+$0360]

* Reference to: System.TObject.Free(TObject);
|
00472240   E8AF17F9FF             call    004039F4
00472245   BEE8030000             mov     esi, $000003E8
0047224A   BB8CC34700             mov     ebx, $0047C38C
0047224F   8B03                   mov     eax, [ebx]

* Reference to: System.TObject.Free(TObject);
|
00472251   E89E17F9FF             call    004039F4
00472256   83C334                 add     ebx, +$34
00472259   4E                     dec     esi
0047225A   75F3                   jnz     0047224F
0047225C   5E                     pop     esi
0047225D   5B                     pop     ebx
0047225E   C3                     ret

*)
end;

procedure TFrmMain.SendTimerTimer(Sender : TObject);
begin
(*
004723E4   55                     push    ebp
004723E5   8BEC                   mov     ebp, esp
004723E7   6A00                   push    $00
004723E9   6A00                   push    $00
004723EB   6A00                   push    $00
004723ED   53                     push    ebx
004723EE   56                     push    esi
004723EF   57                     push    edi
004723F0   8BF0                   mov     esi, eax
004723F2   33C0                   xor     eax, eax
004723F4   55                     push    ebp
004723F5   6891254700             push    $00472591

***** TRY
|
004723FA   64FF30                 push    dword ptr fs:[eax]
004723FD   648920                 mov     fs:[eax], esp
00472400   8B9EF8020000           mov     ebx, [esi+$02F8]
00472406   807B3000               cmp     byte ptr [ebx+$30], $00
0047240A   7413                   jz      0047241F
0047240C   8B8390000000           mov     eax, [ebx+$0090]

* Reference to: ADODB.TADOConnection.GetCommandCount(TADOConnection):Integer;
|
00472412   E80175FFFF             call    00469918
00472417   8B150C874700           mov     edx, [$0047870C]
0047241D   8902                   mov     [edx], eax
0047241F   A158844700             mov     eax, dword ptr [$00478458]
00472424   803800                 cmp     byte ptr [eax], $00
00472427   744B                   jz      00472474
00472429   8D55F8                 lea     edx, [ebp-$08]
0047242C   A10C874700             mov     eax, dword ptr [$0047870C]
00472431   8B00                   mov     eax, [eax]

* Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
|
00472433   E81C81F9FF             call    0040A554
00472438   8D45F8                 lea     eax, [ebp-$08]
0047243B   BAA8254700             mov     edx, $004725A8

* Reference to: System.@LStrCat;
|
00472440   E86F26F9FF             call    00404AB4
00472445   8B55F8                 mov     edx, [ebp-$08]
00472448   8B8614030000           mov     eax, [esi+$0314]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
0047244E   E89936FDFF             call    00445AEC

* Reference to: kernel32.GetTickCount()
|
00472453   E86C47F9FF             call    00406BC4
00472458   8B153C874700           mov     edx, [$0047873C]
0047245E   2B02                   sub     eax, dword ptr [edx]
00472460   8B1528854700           mov     edx, [$00478528]
00472466   3B02                   cmp     eax, [edx]
00472468   7627                   jbe     00472491
0047246A   A158844700             mov     eax, dword ptr [$00478458]
0047246F   C60000                 mov     byte ptr [eax], $00
00472472   EB1D                   jmp     00472491
00472474   8D55F4                 lea     edx, [ebp-$0C]
00472477   A10C874700             mov     eax, dword ptr [$0047870C]
0047247C   8B00                   mov     eax, [eax]

* Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
|
0047247E   E8D180F9FF             call    0040A554
00472483   8B55F4                 mov     edx, [ebp-$0C]
00472486   8B8614030000           mov     eax, [esi+$0314]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
0047248C   E85B36FDFF             call    00445AEC
00472491   A188854700             mov     eax, dword ptr [$00478588]
00472496   803800                 cmp     byte ptr [eax], $00
00472499   746A                   jz      00472505
0047249B   A100894700             mov     eax, dword ptr [$00478900]
004724A0   803800                 cmp     byte ptr [eax], $00
004724A3   7560                   jnz     00472505
004724A5   BFE8030000             mov     edi, $000003E8
004724AA   BB60C34700             mov     ebx, $0047C360
004724AF   8BC3                   mov     eax, ebx
004724B1   8945FC                 mov     [ebp-$04], eax
004724B4   8B45FC                 mov     eax, [ebp-$04]
004724B7   833800                 cmp     dword ptr [eax], +$00
004724BA   7443                   jz      004724FF

* Reference to: kernel32.GetTickCount()
|
004724BC   E80347F9FF             call    00406BC4
004724C1   8B55FC                 mov     edx, [ebp-$04]
004724C4   2B4220                 sub     eax, dword ptr [edx+$20]
004724C7   3D80EE3600             cmp     eax, $0036EE80
004724CC   7631                   jbe     004724FF
004724CE   8B45FC                 mov     eax, [ebp-$04]
004724D1   8B00                   mov     eax, [eax]

* Reference to: ScktComp.TCustomWinSocket.Close(TCustomWinSocket);
|
004724D3   E87C60FFFF             call    00468554
004724D8   8B45FC                 mov     eax, [ebp-$04]
004724DB   33D2                   xor     edx, edx
004724DD   8910                   mov     [eax], edx
004724DF   8B45FC                 mov     eax, [ebp-$04]
004724E2   C74024FFFFFFFF         mov     dword ptr [eax+$24], $FFFFFFFF
004724E9   8B45FC                 mov     eax, [ebp-$04]
004724EC   8B402C                 mov     eax, [eax+$2C]
004724EF   8B10                   mov     edx, [eax]
004724F1   FF5244                 call    dword ptr [edx+$44]
004724F4   8B45FC                 mov     eax, [ebp-$04]
004724F7   83C004                 add     eax, +$04

* Reference to: System.@LStrClr(void;void);
|
004724FA   E8ED22F9FF             call    004047EC
004724FF   83C334                 add     ebx, +$34
00472502   4F                     dec     edi
00472503   75AA                   jnz     004724AF
00472505   A188854700             mov     eax, dword ptr [$00478588]
0047250A   803800                 cmp     byte ptr [eax], $00
0047250D   7567                   jnz     00472576
0047250F   A14C864700             mov     eax, dword ptr [$0047864C]
00472514   803800                 cmp     byte ptr [eax], $00
00472517   745D                   jz      00472576

* Reference to: kernel32.GetTickCount()
|
00472519   E8A646F9FF             call    00406BC4
0047251E   2B8674030000           sub     eax, dword ptr [esi+$0374]
00472524   3DE8030000             cmp     eax, $000003E8
00472529   764B                   jbe     00472576

* Reference to: kernel32.GetTickCount()
|
0047252B   E89446F9FF             call    00406BC4
00472530   898674030000           mov     [esi+$0374], eax
00472536   33D2                   xor     edx, edx
00472538   8B8604030000           mov     eax, [esi+$0304]

* Reference to: ScktComp.TAbstractSocket.SetActive(TAbstractSocket;Boolean);
|
0047253E   E8CD7DFFFF             call    0046A310
00472543   8B1534844700           mov     edx, [$00478434]
00472549   8B12                   mov     edx, [edx]
0047254B   8B8604030000           mov     eax, [esi+$0304]

* Reference to: ScktComp.TAbstractSocket.SetPort(TAbstractSocket;Integer);
|
00472551   E80A7FFFFF             call    0046A460
00472556   8B152C884700           mov     edx, [$0047882C]
0047255C   8B12                   mov     edx, [edx]
0047255E   8B8604030000           mov     eax, [esi+$0304]

* Reference to: ScktComp.TAbstractSocket.SetHost(TAbstractSocket;AnsiString);
|
00472564   E8777EFFFF             call    0046A3E0
00472569   B201                   mov     dl, $01
0047256B   8B8604030000           mov     eax, [esi+$0304]

* Reference to: ScktComp.TAbstractSocket.SetActive(TAbstractSocket;Boolean);
|
00472571   E89A7DFFFF             call    0046A310
00472576   33C0                   xor     eax, eax
00472578   5A                     pop     edx
00472579   59                     pop     ecx
0047257A   59                     pop     ecx
0047257B   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '_^[嬪]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -