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

📄 secflag.pas

📁 Delphi写的PE查看器
💻 PAS
字号:
{******************************************************************************}
{Copyright(C) 2007,Pefine Security Lab                                         }
{All rights reserved.                                                          }
{                                                                              }
{Abstract:View Win32 PE file information.                                      }
{                                                                              }
{Version:1.01                                                                  }
{Author:WindRand                                                               }
{Date:2007-01-20                                                               }
{******************************************************************************}
unit SecFlag;

interface

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

type
  TSecFlagFrm = class(TForm)
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    CheckBox10: TCheckBox;
    CheckBox11: TCheckBox;
    CheckBox12: TCheckBox;
    CheckBox13: TCheckBox;
    CheckBox14: TCheckBox;
    CheckBox15: TCheckBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    GroupBox2: TGroupBox;
    ValueLabel: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure CheckBox7Click(Sender: TObject);
    procedure CheckBox8Click(Sender: TObject);
    procedure CheckBox9Click(Sender: TObject);
    procedure CheckBox10Click(Sender: TObject);
    procedure CheckBox11Click(Sender: TObject);
    procedure CheckBox12Click(Sender: TObject);
    procedure CheckBox13Click(Sender: TObject);
    procedure CheckBox14Click(Sender: TObject);
    procedure CheckBox15Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    function SecFlagCount():Integer;
    { Public declarations }
  end;

var
  SecFlagFrm: TSecFlagFrm;

implementation

{$R *.dfm}

procedure TSecFlagFrm.Button1Click(Sender: TObject);
begin
  ModalResult:=mrok;
end;

procedure TSecFlagFrm.Button2Click(Sender: TObject);
begin
  Close;
end;

function TSecFlagFrm.SecFlagCount():Integer;
var
  TempInt:Integer;
begin
  TempInt:=0;
  if CheckBox1.Checked=True then
    TempInt:=TempInt+HexToInt('10000000');
  if CheckBox2.Checked=True then
    TempInt:=TempInt+HexToInt('20000000');
  if CheckBox3.Checked=True then
    TempInt:=TempInt+HexToInt('40000000');
  if CheckBox4.Checked=True then
    TempInt:=TempInt+HexToInt('80000000');
  if CheckBox5.Checked=True then
    TempInt:=TempInt+HexToInt('01000000');
  if CheckBox6.Checked=True then
    TempInt:=TempInt+HexToInt('02000000');
  if CheckBox7.Checked=True then
    TempInt:=TempInt+HexToInt('04000000');
  if CheckBox8.Checked=True then
    TempInt:=TempInt+HexToInt('08000000');
  if CheckBox9.Checked=True then
    TempInt:=TempInt+HexToInt('00001000');
  if CheckBox10.Checked=True then
    TempInt:=TempInt+HexToInt('00000200');
  if CheckBox11.Checked=True then
    TempInt:=TempInt+HexToInt('00000800');
  if CheckBox12.Checked=True then
    TempInt:=TempInt+HexToInt('00000020');
  if CheckBox13.Checked=True then
    TempInt:=TempInt+HexToInt('00000040');
  if CheckBox14.Checked=True then
    TempInt:=TempInt+HexToInt('00000080');
  if CheckBox15.Checked=True then
    TempInt:=TempInt+HexToInt('00000008');
  Case Combobox1.ItemIndex of
    0:TempInt:=TempInt+HexToInt('00000000');
    1:TempInt:=TempInt+HexToInt('00100000');
    2:TempInt:=TempInt+HexToInt('00200000');
    3:TempInt:=TempInt+HexToInt('00300000');
    4:TempInt:=TempInt+HexToInt('00400000');
    5:TempInt:=TempInt+HexToInt('00500000');
    6:TempInt:=TempInt+HexToInt('00600000');
    7:TempInt:=TempInt+HexToInt('00700000');
    8:TempInt:=TempInt+HexToInt('00800000');
    9:TempInt:=TempInt+HexToInt('00900000');
    10:TempInt:=TempInt+HexToInt('00A00000');
    11:TempInt:=TempInt+HexToInt('00B00000');
    12:TempInt:=TempInt+HexToInt('00C00000');
    13:TempInt:=TempInt+HexToInt('00D00000');
    14:TempInt:=TempInt+HexToInt('00E00000');
  end;
  Result:=TempInt;  
end;

procedure TSecFlagFrm.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox1.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox2Click(Sender: TObject);
begin
  if CheckBox2.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox2.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox3Click(Sender: TObject);
begin
  if CheckBox3.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox3.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox4Click(Sender: TObject);
begin
  if CheckBox4.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox4.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox5Click(Sender: TObject);
begin
  if CheckBox5.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox5.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox6Click(Sender: TObject);
begin
  if CheckBox6.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox6.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox7Click(Sender: TObject);
begin
  if CheckBox7.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox7.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox8Click(Sender: TObject);
begin
  if CheckBox8.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox8.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox9Click(Sender: TObject);
begin
  if CheckBox9.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox9.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox10Click(Sender: TObject);
begin
  if CheckBox10.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox10.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox11Click(Sender: TObject);
begin
  if CheckBox11.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox11.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox12Click(Sender: TObject);
begin
  if CheckBox12.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox12.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox13Click(Sender: TObject);
begin
  if CheckBox13.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox13.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox14Click(Sender: TObject);
begin
  if CheckBox14.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox14.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.CheckBox15Click(Sender: TObject);
begin
  if CheckBox15.Checked=True then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  if CheckBox15.Checked=False then
    ValueLabel.Caption:=IntToHex(SecFlagCount,8);
end;

procedure TSecFlagFrm.ComboBox1Change(Sender: TObject);
begin
  Case Combobox1.ItemIndex of
    0:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    1:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    2:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    3:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    4:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    5:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    6:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    7:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    8:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    9:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    10:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    11:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    12:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    13:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
    14:ValueLabel.Caption:=IntToHex(SecFlagCount,8);
  end;
end;

end.

⌨️ 快捷键说明

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