getsizemain.~pas

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

~PAS
72
字号
unit GetSizeMain;

interface

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

type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    GetSizeBtn: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    WriteBtn: TButton;
    StatusBar1: TStatusBar;
    procedure GetSizeBtnClick(Sender: TObject);
    procedure WriteBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//**********************************************
//获取文件大小加密以后写入文件
//**********************************************
//获取文件大小
procedure TForm1.GetSizeBtnClick(Sender: TObject);
var
  FileNameStr:String;
  F:file;
  TempSize:Int64;
begin
  OpenDialog1.Filter:='All files(*.*)|*.*';
  if OpenDialog1.Execute then
    FileNameStr:=OpenDialog1.FileName;
  try
    {$I-}
    AssignFile(F,FileNameStr);
    Reset(F,1);
    //文件大小,单位为字节
    TempSize:=FileSize(F);
    CloseFile(F);
    {$I+}
    Edit1.Text:=IntToStr(TempSize);
  except
  end;
end;

//文件大小加密后写入文件
procedure TForm1.WriteBtnClick(Sender: TObject);
var
  IniFileName:String;
  MyIniFile:TIniFile;
begin
  //Ini文件名和路径
  IniFileName:=ExtractFilePath(Application.ExeName)+'MyIni.ini';
  MyIniFile:=TIniFile.Create(IniFileName);//创建TIniFile对象
  MyIniFile.WriteString('MySet','Ver',Base64Encryption(Edit1.Text));
  MyIniFile.Destroy;
  MessageBox(Handle,'写入成功!','提示',MB_OK);
end;

end.

⌨️ 快捷键说明

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