checkmain.~pas

来自「各种反分析软件的手法,包括(反Dede,反单步跟踪,反SoftICE,Ollyd」· ~PAS 代码 · 共 56 行

~PAS
56
字号
unit CheckMain;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
var
  IniFileName,TempStr:String;
  MyIniFile:TIniFile;
  F:file;
  CurrentSize,OldSize:Int64;
begin
  CurrentSize:=0;OldSize:=0;
  try
    //Ini文件名和路径
    IniFileName:=ExtractFilePath(Application.ExeName)+'MyIni.ini';
    MyIniFile:=TIniFile.Create(IniFileName);//创建TIniFile对象
    TempStr:=MyIniFile.ReadString('MySet','Ver','');
    OldSize:=StrToInt(Base64Decryption(TempStr));
    {$I-}
    AssignFile(F,Application.ExeName);
    Reset(F,1);
    CurrentSize:=FileSize(F);
    CloseFile(F);
    {$I+}
    //如果软件的当前大小值比加壳后的大,说明被脱壳,关闭程序
    if CurrentSize>OldSize then
      Close;
    MyIniFile.Destroy;  
  except
    MessageBox(Handle,'软件启动错误!','提示',MB_OK);
  end;
end;

end.

⌨️ 快捷键说明

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