亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit1.pas

?? pe結(jié)構(gòu)分析器windows界面
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{*******************************************************}
{       FileName WinDump                                }
{       Function PEFile analyze                         }
{       Authors sjctheworld                             }
{       E_mail sjctheworld@sohu.com                     }
{       Copyright (c) 2004-2005                         }
{                                                       }
{       Thanks  Matt Pietrek                            }
{*******************************************************}
unit Unit1;

interface

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

type
//my_type
  TFlag_DES = record
    flag:DWORD;
    name:string;
  end;

 TImageFileHeaderCharacteristics = array[0..9] of Tflag_des;
 TSectionCharacteristics = array[0..12] of Tflag_des;
 TImageDirectoryNames = array[0..12] of string;

 //This Record No include Borland windows file
 Tu = record
    case Integer of
      0: (Characteristics: DWORD;);
      1: (OriginalFirstThunk: DWORD;);
  end;
 pImageImportDescriptor = ^TImageImportDescriptor;
 _IMAGE_IMPORT_DESCRIPTOR = record
  u:tu;
  TimedateStamp: DWORD;
  ForwarderChina: DWORD;
  Name: DWORD;
  FirstThunk: DWORD;
 end;
 TImageImportDescriptor = _IMAGE_IMPORT_DESCRIPTOR;
 IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR;

 Tu1 = record
    case Integer of
      0: (Forwarderstring: DWORD);
      1: (myFunction: DWORD);
      2: (Ordinal: DWORD);
      3: (AddressOfData: DWORD);
  end;
  pImageThunkData = ^TImageThunkData;
  _IMAGE_THUNK_DATA = record
   u1:Tu1;
  end;
  TImageThunkData = _IMAGE_THUNK_DATA;
  IMAGE_THUNK_DATA = _IMAGE_THUNK_DATA;

  pImageImportByName = ^TImageImportByName;
  _IMAGE_IMPORT_BY_NAME = record
   Hint: WORD;
   Name:array [0..99] of byte;
  end;
  TImageImportByName = _IMAGE_IMPORT_BY_NAME;
  IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME;

//end;

  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Help1: TMenuItem;
    Set1: TMenuItem;
    open1: TMenuItem;
    Save1: TMenuItem;
    N1: TMenuItem;
    Exit1: TMenuItem;
    About1: TMenuItem;
    Memo1: TMemo;
    SaveDialog1: TSaveDialog;
    StatusBar1: TStatusBar;
    N2: TMenuItem;
    DisplayDos1: TMenuItem;
    DisplayFile1: TMenuItem;
    DisplayOptional1: TMenuItem;
    N3: TMenuItem;
    DisplayAll1: TMenuItem;
    Set2: TMenuItem;
    English1: TMenuItem;
    Chinese1: TMenuItem;
    Op1: TMenuItem;
    Displyset1: TMenuItem;
    Pre1: TMenuItem;
    MainMenu2: TMainMenu;
    N4: TMenuItem;
    V1: TMenuItem;
    O1: TMenuItem;
    L1: TMenuItem;
    H1: TMenuItem;
    A1: TMenuItem;
    E1: TMenuItem;
    C1: TMenuItem;
    ColorDialog1: TColorDialog;
    FontDialog1: TFontDialog;
    DistplayFontset1: TMenuItem;
    procedure Exit1Click(Sender: TObject);
    procedure open1Click(Sender: TObject);
    procedure About1Click(Sender: TObject);
    procedure Chinese1Click(Sender: TObject);
    procedure E1Click(Sender: TObject);
  private
    { Private declarations }
    procedure DisPalyRowNO;
    procedure analyzepe(FileName:string);
    procedure DumpExeFile(PEDosHeader:PImageDosHeader);
    procedure DumpFileHeader(PEFileHeader:pImageFileHeader);
    procedure DumpOptionalHeader(PEOptionalHeader:pImageOptionalHeader);
    procedure DumpSectionTable(section:pImageSectionHeader;cSections:integer);
    //procedure DumpResourceSection(base:Longword;peNTHeader:pImageNtHeaders);
    procedure DumpImportsSection(base:LongWord;peNTHeader:pImageNtHeaders);
    procedure DumpExportsSection(base:LongWord;peNTHeader:pImageNtHeaders);
    function GetEnclosingSectionHeader(rva:DWORD;peNTHeader:pImageNtHeaders)
                                                          :pImageSectionHeader;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;

const

ImageFileHeaderCharacteristics:TImageFileHeaderCharacteristics =
 (
 (flag:IMAGE_FILE_RELOCS_STRIPPED ; name:'RELOCS_STRIPPED'),
 (flag:IMAGE_FILE_EXECUTABLE_IMAGE ; name:'EXECUTABLE_IMAGE'),
 (flag:IMAGE_FILE_LINE_NUMS_STRIPPED ; name:'LINE_NUMS_STRIPPED'),
 (flag:IMAGE_FILE_LOCAL_SYMS_STRIPPED ; name:'LOCAL_SYMS_STRIPPED'),
 (flag:IMAGE_FILE_BYTES_REVERSED_LO ; name:'BYTES_REVERSED_LO'),
 (flag:IMAGE_FILE_32BIT_MACHINE ; name:'32BIT_MACHINE'),
 (flag:IMAGE_FILE_DEBUG_STRIPPED ; name:'DEBUG_STRIPPED'),
 (flag:IMAGE_FILE_SYSTEM ; name:'SYSTEM'),
 (flag:IMAGE_FILE_DLL ; name:'DLL'),
 (flag:IMAGE_FILE_BYTES_REVERSED_HI ; name:'BYTES_REVERSED_HI')
 );

SectionCharacteristics:TSectionCharacteristics=
(
 (flag:IMAGE_SCN_CNT_CODE ; name:'CODE'),
 (flag:IMAGE_SCN_CNT_INITIALIZED_DATA ; name:'INITIALIZED_DATA'),
 (flag:IMAGE_SCN_CNT_UNINITIALIZED_DATA ; name:'UNINITIALIZED_DATA'),
 (flag:IMAGE_SCN_LNK_INFO ; name:'LNK_INFO'),
 (flag:IMAGE_SCN_LNK_REMOVE ; name:'LNK_REMOVE'),
 (flag:IMAGE_SCN_LNK_COMDAT ; name:'LNK_COMDAT'),
 (flag:IMAGE_SCN_MEM_DISCARDABLE ; name:'MEM_DISCARDABLE'),
 (flag:IMAGE_SCN_MEM_NOT_CACHED ; name:'MEM_NOT_CACHED'),
 (flag:IMAGE_SCN_MEM_NOT_PAGED ; name:'MEM_NOT_PAGED'),
 (flag:IMAGE_SCN_MEM_SHARED ; name:'MEM_SHARED'),
 (flag:IMAGE_SCN_MEM_EXECUTE ; name:'MEM_EXECUTE'),
 (flag:IMAGE_SCN_MEM_READ ; name:'MEM_READ'),
 (flag:IMAGE_SCN_MEM_WRITE ; name:'MEM_WRITE')
);

ImageDirectoryNames:TImageDirectoryNames=
 (
  'EXPORT', 'IMPORT', 'RESOURCE', 'EXCEPTION', 'SECURITY', 'BASERELOC',
  'DEBUG', 'COPYRIGHT', 'GLOBALPTR', 'TLS', 'LOAD_CONFIG',
  'BOUND_IMPORT', 'IAT'
 );

implementation

{$R *.dfm}

procedure TForm1.Exit1Click(Sender: TObject);
begin
   close;
end;

procedure TForm1.open1Click(Sender: TObject);
begin
   if opendialog1.Execute then
    analyzepe(opendialog1.FileName);
end;
procedure TForm1.DisPalyRowNO;
begin
  if application.MainForm.Menu=mainmenu1 then
   statusbar1.Panels[0].Text:=format('     Row NO:%s',[inttostr(memo1.Lines.Count)])
  else
   statusbar1.Panels[0].Text:=format('     行號:%s',[inttostr(memo1.Lines.Count)])
end;
procedure Tform1.analyzepe(filename:string);
var
 hfile:THandle;
 hFileMapping:Thandle;
 lpFileBase:pointer;
 PEDosHeader:PImageDosHeader;
begin
  hFile:=CreateFile(pchar(filename), GENERIC_READ, FILE_SHARE_READ,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if hfile=INVALID_HANDLE_VALUE then
  begin
    MessageDlg('Couldn`t open file with CreateFile().',mtInformation,[mbOk],0);
    exit;
  end;
  //
  hfilemapping:=Createfilemapping(hFile, nil, PAGE_READONLY, 0, 0, nil);
  if hfilemapping=0 then
  begin
    CloseHandle(hFile);
    messagedlg('Couldn`t open file mapping with CreateFileMapping()',mtInformation,[mbOk],0);
  end;
  //
  lpFileBase:=MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0);
  if lpFileBase=nil then
  begin
    CloseHandle(hFileMapping);
    CloseHandle(hFile);
    messagedlg('Couldn`t map view of file with MapViewOfFile()',mtInformation,[mbOk],0);
    exit;
  end;
  //
  memo1.Clear;
  memo1.Lines.add('Dump of file'+'   '+filename);
  //get pedosheader address
  PEDosHeader:=PImageDosHeader(lpfilebase);
  if PEDosHeader.e_magic=IMAGE_DOS_SIGNATURE then
    DumpExeFile(PEDosHeader)
  else
    messagedlg('unrecognized file format',mtInformation,[mbOk],0);
  //display Row NO
  DisPalyRowNO;
  //free
  UnmapViewOfFile(lpFileBase);
  CloseHandle(hFileMapping);
  CloseHandle(hFile);
end;

procedure Tform1.DumpExeFile(PEDosHeader:PImageDosHeader);
var
 PENTHeader:pImageNtHeaders;
 PEsectionHeader:pImageSectionHeader;
 base:longword;
begin
  base:=longword(pedosheader);
  //get pentheader address
  PENTHeader:=pImageNtHeaders(base+longword(pedosheader._lfanew));
  if  peNTHeader.Signature <> IMAGE_NT_SIGNATURE then
  begin
    messagedlg('Not a Portable Executable (PE) EXE',mtInformation,[mbOk],0);
    exit;
  end;
  //display fileheader
  DumpfileHeader(pImageFileHeader(@pentheader.FileHeader));
  //display OptionalHeade
  DumpOptionalHeader(pImageOptionalHeader(@peNTHeader.OptionalHeader));
  //get pesectionheader address
  pesectionheader:=pImageSectionHeader(longword(pentheader)+sizeof(TImageNtHeaders));
  //display sectiontable
  DumpSectionTable(pesectionheader,peNTHeader.FileHeader.NumberOfSections);
  //display ResourceSection
  //DumpResourceSection(base,peNTHeader);
  //display importtable
  DumpImportsSection(base,peNTHeader);
  //display exporttable
  DumpExportsSection(base,peNTHeader);
end;

procedure TForm1.DumpfileHeader(PEFileHeader:pImageFileHeader);
var
 headerFieldWidth:integer;
 i:integer;
 szMachine:string;
begin
  headerFieldWidth:=30;
  memo1.Lines.Add('');
  memo1.Lines.Add('File Header');

  case pefileheader.Machine of
    IMAGE_FILE_MACHINE_I386:   szMachine := 'i386';
    //IMAGE_FILE_MACHINE_I860:   szMachine = 'i860';
    IMAGE_FILE_MACHINE_R3000:  szMachine := 'R3000';
    IMAGE_FILE_MACHINE_R4000:  szMachine := 'R4000';
    IMAGE_FILE_MACHINE_ALPHA:  szMachine := 'alpha';
  else
    szMachine := 'unknown';
  end;

  memo1.Lines.Add(format('  %-*s%.4x<%s>',[headerFieldWidth,'Machine:',
                       peFileHeader.Machine, szMachine]));
  memo1.Lines.Add(format('  %-*s%.4x',[headerFieldWidth,'Number of Sections:',
                       peFileHeader.NumberOfSections]));
  memo1.Lines.Add(format('  %-*s%.8x',[headerFieldWidth,'TimeDateStamp:',
                       peFileHeader.TimeDateStamp]));
  memo1.Lines.Add(format('  %-*s%.8x',[headerFieldWidth,'PointerToSymbolTable:',
                       peFileHeader.PointerToSymbolTable]));
  memo1.Lines.Add(format('  %-*s%.8x',[headerFieldWidth,'NumberOfSymbols:',
                       peFileHeader.NumberOfSymbols]));
  memo1.Lines.Add(format('  %-*s%.4x',[headerFieldWidth,'SizeOfOptionalHeader:',
                       peFileHeader.SizeOfOptionalHeader]));
  memo1.Lines.Add(format('  %-*s%.4x',[headerFieldWidth,'Characteristics:',
                       peFileHeader.Characteristics]));

  for i:=0 to 9 do
  begin
    // why this write ????? i don`t know :_<
    if (peFileHeader.Characteristics and ImageFileHeaderCharacteristics[i].flag)<>0 then
     memo1.Lines.Add(format( '    %s', [ImageFileHeaderCharacteristics[i].name]));
  end;
end;

procedure TForm1.DumpOptionalHeader(PEOptionalHeader:pImageOptionalHeader);
var
 width:integer;
 s:string;
 i:integer;
 datadirname:string;
begin
  width:=30;
  memo1.Lines.Add('');
  memo1.Lines.Add('Optional Header');

  memo1.Lines.Add(format('  %-*s%.4X',[width, 'Magic',
                  peoptionalHeader.Magic]));
  memo1.Lines.Add(format('  %-*s%u.%.2u',[width, 'linker versio',
                  peoptionalHeader.MajorLinkerVersion,
                  peoptionalHeader.MinorLinkerVersion]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'size of code',
                  peoptionalHeader.SizeOfCode]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'size of initialized data',
                  peoptionalHeader.SizeOfInitializedData]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'size of uninitialized data',
                  peoptionalHeader.SizeOfUninitializedData]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'entrypoint RVA',
                  peoptionalHeader.AddressOfEntryPoint]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'base of code',
                  peoptionalHeader.BaseOfCode]));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜美女网| 欧美精品一卡二卡| 欧美韩日一区二区三区| 国产在线精品免费| 国产欧美精品一区二区三区四区| 国产传媒欧美日韩成人| 国产精品色哟哟| 日本精品视频一区二区| 亚洲国产成人av| 精品日产卡一卡二卡麻豆| 国产精品中文有码| 亚洲欧美韩国综合色| 欧美日韩精品欧美日韩精品一| 男人的j进女人的j一区| 国产亚洲欧美色| 色婷婷精品久久二区二区蜜臂av| 亚洲va欧美va人人爽| 精品少妇一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 国产一区二区毛片| 国产精品久久久久一区二区三区共| 91视频国产观看| 视频在线观看91| 亚洲国产电影在线观看| 欧美性一级生活| 激情欧美日韩一区二区| 1区2区3区欧美| 国产乱妇无码大片在线观看| 日本精品视频一区二区三区| 欧美性色aⅴ视频一区日韩精品| 91精品国产日韩91久久久久久| 欧美精品一区二区三区在线播放| 婷婷久久综合九色综合伊人色| 国产精品69毛片高清亚洲| 91精品久久久久久久99蜜桃| 91成人看片片| 国产亚洲综合性久久久影院| 日本三级韩国三级欧美三级| 在线看一区二区| 欧美国产一区在线| 国产在线不卡一卡二卡三卡四卡| 欧美性色aⅴ视频一区日韩精品| 精品99999| 国产一区91精品张津瑜| 不卡的av网站| 日韩精品一级中文字幕精品视频免费观看| 亚洲va天堂va国产va久| 国精产品一区一区三区mba视频 | 国产成a人亚洲| 九九久久精品视频| 欧美精品日日鲁夜夜添| 国模娜娜一区二区三区| 五月综合激情婷婷六月色窝| 亚洲欧美综合在线精品| 国产欧美精品一区二区色综合朱莉| 7777精品伊人久久久大香线蕉经典版下载| 成人午夜电影久久影院| 久久激五月天综合精品| 视频在线观看一区二区三区| 日韩免费福利电影在线观看| 国产精品一区二区不卡| 国产精品视频麻豆| 色综合久久综合网97色综合 | 在线观看区一区二| 一区二区在线观看不卡| 91首页免费视频| 亚洲天堂免费看| 欧美日韩三级一区| 国产电影一区二区三区| 亚洲人成网站影音先锋播放| 日韩一区二区三免费高清| 久久99精品国产.久久久久久| 国产精品国产三级国产aⅴ中文 | 亚洲成人午夜影院| 欧美在线观看你懂的| 久久超碰97中文字幕| 亚洲免费伊人电影| 日韩欧美国产wwwww| 日韩视频在线一区二区| 成人午夜大片免费观看| 丁香激情综合国产| 亚洲乱码日产精品bd | 亚洲免费色视频| 日韩欧美高清一区| 久久网站热最新地址| 亚洲午夜久久久久久久久久久 | 国产精品中文字幕欧美| 国产精品羞羞答答xxdd| 成人黄色a**站在线观看| 国产成人精品综合在线观看| 成人av中文字幕| 91成人看片片| 欧美福利一区二区| 欧美日韩国产高清一区二区| 欧美一区二区播放| 国产性天天综合网| 中文字幕一区二区三区四区不卡| 亚洲视频精选在线| 亚洲成在人线在线播放| 麻豆freexxxx性91精品| 顶级嫩模精品视频在线看| 91免费版在线看| 欧美剧情片在线观看| 精品成人一区二区| 国产精品日产欧美久久久久| 亚洲高清免费观看| 麻豆国产欧美一区二区三区| 国产黄色91视频| 欧美优质美女网站| 精品国产一区久久| 亚洲欧美日韩人成在线播放| 天天综合日日夜夜精品| 国产成人免费在线观看不卡| 色哟哟精品一区| 精品久久久久久久久久久久包黑料| 国产精品人成在线观看免费| 亚洲福中文字幕伊人影院| 国模一区二区三区白浆 | 在线免费亚洲电影| 欧美不卡一区二区| 一区二区三区日韩欧美精品| 国内精品国产三级国产a久久| 91美女蜜桃在线| 欧美精品一区二区三区久久久| 亚洲乱码国产乱码精品精的特点 | 久久亚洲一级片| 亚洲激情图片小说视频| 久久99精品久久只有精品| 99国产精品一区| 欧美成人aa大片| 亚洲h动漫在线| 成人v精品蜜桃久久一区| 777精品伊人久久久久大香线蕉| 国产精品久线观看视频| 免费xxxx性欧美18vr| 欧美综合在线视频| 国产精品每日更新| 韩国欧美一区二区| 91精品国产aⅴ一区二区| 亚洲乱码一区二区三区在线观看| 国产久卡久卡久卡久卡视频精品| 欧美精品aⅴ在线视频| 亚洲乱码中文字幕| av欧美精品.com| 国产视频911| 国产在线一区观看| 日韩视频免费观看高清完整版在线观看 | 丝袜亚洲另类丝袜在线| 欧美综合在线视频| 综合精品久久久| 从欧美一区二区三区| 久久蜜桃av一区精品变态类天堂 | 欧美xxxx在线观看| 婷婷综合在线观看| 欧美在线视频日韩| 一区二区三区中文在线| 99热精品一区二区| 国产丝袜欧美中文另类| 国产一区二区三区综合| 精品少妇一区二区三区在线视频| 日本三级韩国三级欧美三级| 制服丝袜亚洲播放| 青椒成人免费视频| 91精品国产黑色紧身裤美女| 天堂在线一区二区| 555夜色666亚洲国产免| 青青草精品视频| 日韩一级片在线播放| 美女一区二区视频| 精品国产99国产精品| 国产精品自拍一区| 国产日产亚洲精品系列| 懂色一区二区三区免费观看| 亚洲国产精品v| 97久久超碰国产精品| 亚洲综合图片区| 欧美精品亚洲一区二区在线播放| 无吗不卡中文字幕| 日韩视频免费观看高清完整版 | 国产精品人人做人人爽人人添| 大桥未久av一区二区三区中文| 国产精品入口麻豆原神| 91片在线免费观看| 午夜精品aaa| 26uuu久久天堂性欧美| 国产+成+人+亚洲欧洲自线| 中文字幕中文乱码欧美一区二区| 色综合久久六月婷婷中文字幕| 亚洲自拍偷拍网站| 日韩视频一区二区三区在线播放| 国产一区二区三区高清播放| 欧美激情一区在线| 在线免费观看日韩欧美| 美国欧美日韩国产在线播放| 久久伊人蜜桃av一区二区| jizz一区二区| 五月婷婷激情综合| 欧美精品一区二区三区一线天视频| 99久久伊人精品| 午夜精品久久久久|