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

📄 idsoccli.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls
type
  TFrmIDSoc=class(TForm)
    IDSocket: TClientSocket;
    CheckTimer: TTimer;
    KeepAliveTimer: TTimer;
    procedure FormCreate(Sender : TObject);
    procedure FormDestroy(Sender : TObject);
    procedure CheckTimerTimer(Sender : TObject);
    procedure KeepAliveTimerTimer(Sender : TObject);
    procedure IDSocketError(Sender : TObject);
    procedure IDSocketRead(Sender : TObject);
    procedure IDSocketConnect(Sender : TObject);
    procedure IDSocketDisconnect(Sender : TObject);
    procedure _PROC_00497991(Sender : TObject);
    procedure _PROC_00497B41(Sender : TObject);
    procedure _PROC_00497BE8(Sender : TObject);
    procedure _PROC_00497C9C(Sender : TObject);
    procedure _PROC_00497DB8(Sender : TObject);
    procedure _PROC_00497E64(Sender : TObject);
    procedure _PROC_00497EB0(Sender : TObject);
    procedure _PROC_00497EFC(Sender : TObject);
    procedure _PROC_00497F58(Sender : TObject);
    procedure _PROC_00498034(Sender : TObject);
    procedure _PROC_004981D4(Sender : TObject);
    procedure _PROC_004982D8(Sender : TObject);
    procedure _PROC_004983C7(Sender : TObject);
    procedure _PROC_004983D4(Sender : TObject);
    procedure _PROC_0049841C(Sender : TObject);
    procedure _PROC_00498444(Sender : TObject);
    procedure _PROC_00498518(Sender : TObject);
    procedure _PROC_00498548(Sender : TObject);
    procedure _PROC_00498550(Sender : TObject);
    procedure _PROC_00498824(Sender : TObject);
    procedure _PROC_00499240(Sender : TObject);
    procedure _PROC_004992D4(Sender : TObject);
    procedure _PROC_00499414(Sender : TObject);
    procedure _PROC_004995D1(Sender : TObject);
    procedure _PROC_00499600(Sender : TObject);
    procedure _PROC_00499608(Sender : TObject);
    procedure _PROC_00499630(Sender : TObject);
    procedure _PROC_00499714(Sender : TObject);
    procedure _PROC_004997D4(Sender : TObject);
    procedure _PROC_00499880(Sender : TObject);
    procedure _PROC_0049990C(Sender : TObject);
    procedure _PROC_0049999C(Sender : TObject);
    procedure _PROC_00499A08(Sender : TObject);
    procedure _PROC_00499A94(Sender : TObject);
    procedure _PROC_00499AFC(Sender : TObject);
    procedure _PROC_00499B60(Sender : TObject);
    procedure _PROC_00499BC4(Sender : TObject);
    procedure _PROC_00499BF4(Sender : TObject);
    procedure _PROC_00499BFC(Sender : TObject);
    procedure _PROC_00499C2C(Sender : TObject);
    procedure _PROC_00499C45(Sender : TObject);
    procedure _PROC_00499DF0(Sender : TObject);
    procedure _PROC_00499EA5(Sender : TObject);
    procedure _PROC_0049A024(Sender : TObject);
    procedure _PROC_0049A249(Sender : TObject);
    procedure _PROC_0049A422(Sender : TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end ;

var
  FrmIDSoc: TFrmIDSoc;

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

implementation

{$R *.DFM}

procedure TFrmIDSoc.FormCreate(Sender : TObject);
begin
(*
00497878   53                     push    ebx
00497879   8BD8                   mov     ebx, eax
0049787B   B201                   mov     dl, $01
0049787D   A154C54100             mov     eax, dword ptr [$0041C554]

* Reference to: InStack.TInStack.Create(TInStack;boolean);
|           or: System.TObject.Create(TObject;Boolean);
|
00497882   E8F1C2F6FF             call    00403B78
00497887   898304030000           mov     [ebx+$0304], eax
0049788D   8D8308030000           lea     eax, [ebx+$0308]

* Reference to: System.@LStrClr(void;void);
|
00497893   E860D1F6FF             call    004049F8
*)
end;

procedure TFrmIDSoc.FormDestroy(Sender : TObject);
begin
(*
004978A8   53                     push    ebx
004978A9   56                     push    esi
004978AA   57                     push    edi
004978AB   51                     push    ecx
004978AC   8BF8                   mov     edi, eax
004978AE   8B8704030000           mov     eax, [edi+$0304]
004978B4   8B5808                 mov     ebx, [eax+$08]
004978B7   4B                     dec     ebx
004978B8   85DB                   test    ebx, ebx
004978BA   7C24                   jl      004978E0
004978BC   43                     inc     ebx
004978BD   33F6                   xor     esi, esi
004978BF   8B8704030000           mov     eax, [edi+$0304]
004978C5   8BD6                   mov     edx, esi

* Reference to: Classes.TList.Get(TList;Integer):Pointer;
|
004978C7   E8DC75F8FF             call    0041EEA8
004978CC   890424                 mov     [esp], eax
004978CF   BA2D000000             mov     edx, $0000002D
004978D4   8B0424                 mov     eax, [esp]

* Reference to: System.@FreeMem(Pointer):Integer;
|
004978D7   E848B5F6FF             call    00402E24
004978DC   46                     inc     esi
004978DD   4B                     dec     ebx
004978DE   75DF                   jnz     004978BF
004978E0   8B8704030000           mov     eax, [edi+$0304]

* Reference to: System.TObject.Free(TObject);
|
004978E6   E8BDC2F6FF             call    00403BA8
004978EB   5A                     pop     edx
004978EC   5F                     pop     edi
004978ED   5E                     pop     esi
004978EE   5B                     pop     ebx
004978EF   C3                     ret

*)
end;

procedure TFrmIDSoc.CheckTimerTimer(Sender : TObject);
begin
(*
004978F0   53                     push    ebx
004978F1   56                     push    esi
004978F2   8BD8                   mov     ebx, eax
004978F4   8BB3F8020000           mov     esi, [ebx+$02F8]
004978FA   837E3800               cmp     dword ptr [esi+$38], +$00
004978FE   740F                   jz      0049790F
00497900   807E3000               cmp     byte ptr [esi+$30], $00
00497904   7509                   jnz     0049790F
00497906   B201                   mov     dl, $01
00497908   8BC6                   mov     eax, esi

* Reference to: ScktComp.TAbstractSocket.SetActive(TAbstractSocket;Boolean);
|
0049790A   E8C5C2FFFF             call    00493BD4
0049790F   5E                     pop     esi
00497910   5B                     pop     ebx
00497911   C3                     ret

*)
end;

procedure TFrmIDSoc.KeepAliveTimerTimer(Sender : TObject);
begin
(*

* Reference to : TFrmIDSoc._PROC_004982D8()
|
00498414   E8BFFEFFFF             call    004982D8
00498419   C3                     ret

*)
end;

procedure TFrmIDSoc.IDSocketError(Sender : TObject);
begin
(*
0049801C   55                     push    ebp
0049801D   8BEC                   mov     ebp, esp
0049801F   8B4508                 mov     eax, [ebp+$08]
00498022   33D2                   xor     edx, edx
00498024   8910                   mov     [eax], edx
00498026   8BC1                   mov     eax, ecx

* Reference to: ScktComp.TCustomWinSocket.Close(TCustomWinSocket);
|
00498028   E8DF9CFFFF             call    00491D0C
0049802D   5D                     pop     ebp
0049802E   C20800                 ret     $0008

*)
end;

procedure TFrmIDSoc.IDSocketRead(Sender : TObject);
begin
(*
00497914   55                     push    ebp
00497915   8BEC                   mov     ebp, esp
00497917   6A00                   push    $00
00497919   53                     push    ebx
0049791A   56                     push    esi
0049791B   8BF1                   mov     esi, ecx
0049791D   8BD8                   mov     ebx, eax
0049791F   33C0                   xor     eax, eax
00497921   55                     push    ebp

* Possible String Reference to: '檎肾

⌨️ 快捷键说明

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