isdebuggermain.pas

来自「Anti-Loader... ...Anti-Loader示例 ├──PEB」· PAS 代码 · 共 51 行

PAS
51
字号
unit IsDebuggerMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls;

type
  TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//****************************************
//利用IsDebuggerPresent函数检测OllyDBG
//****************************************
function AntiLoader():Boolean;
var 
  isDebuggerPresent: function:Boolean;
  Addr: THandle;
begin 
  Addr := LoadLibrary('kernel32.dll');
  isDebuggerPresent := GetProcAddress(Addr, 'IsDebuggerPresent'); 
  if isDebuggerPresent then 
    Result:=True
  else
    Result:=False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if AntiLoader then
    MessageBox(Handle,'发现调试器!','提示',MB_OK+MB_ICONINFORMATION)
  else
    MessageBox(Handle,'未发现提示器!','提示',MB_OK+MB_ICONINFORMATION);
end;

end.

⌨️ 快捷键说明

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