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

📄 minimumdll.dpr

📁 delphi源代码分析源码
💻 DPR
字号:
library MinimumDll;

const
  DLL_PROCESS_DETACH = 0;
  DLL_PROCESS_ATTACH = 1;
  DLL_THREAD_ATTACH  = 2;
  DLL_THREAD_DETACH  = 3;

function MessageBox(hWnd: LongWord; lpText, lpCaption: PChar; uType: LongWord): Integer; stdcall;
  external user32 name 'MessageBoxA';

const
  MB_ICONINFORMATION = $00000040;

var
  sArr : array [0..3] of pChar
       = ('PROCESS_DETACH',
          'PROCESS_ATTACH',
          'THREAD_ATTACH',
          'THREAD_DETACH');

procedure Same_DllMain(Reason: Integer);
begin
  case Reason of
    DLL_PROCESS_ATTACH,
    DLL_THREAD_ATTACH,
    DLL_THREAD_DETACH,
    DLL_PROCESS_DETACH :
      MessageBox(0, sArr[Reason], 'MinimumDll', MB_ICONINFORMATION);
  end;
end;


procedure ExitDll(EAX : LongBool);
asm
  LEAVE
  RET 12
end;

begin
        { ->    EAX Inittable   }
        {       [EBP+8] Hinst   }
        {       [EBP+12] Reason }
        {       [EBP+16] Resvd  }

  // here, is Pure DllMain()

asm
  mov eax, [EBP+12]
  mov ecx, [EBP+16]
  call Same_DllMain
end;

  ExitDll(True);
end.

⌨️ 快捷键说明

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