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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.~pas

?? pe結構分析器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);
    procedure Memo1Click(Sender: TObject);
  private
    { Private declarations }
    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.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);
  //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]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'base of data',
                  peoptionalHeader.BaseOfData]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'image base',
                  peoptionalHeader.ImageBase]));
  memo1.Lines.Add(format('  %-*s%X',[width, 'section align',

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区影音先锋| 亚洲免费观看视频| 91超碰这里只有精品国产| 97国产精品videossex| 成人18视频日本| www.爱久久.com| 一本久久a久久精品亚洲| 91福利视频久久久久| 欧美日本韩国一区二区三区视频| 欧美熟乱第一页| 91精品国产综合久久婷婷香蕉| 欧美一区二区视频在线观看| 91精品福利在线一区二区三区| 91精品在线观看入口| 日韩欧美国产成人一区二区| 久久午夜色播影院免费高清| 国产精品网友自拍| 亚洲色欲色欲www| 日韩高清一级片| 国产成人亚洲综合a∨婷婷| 成人午夜精品在线| 91极品视觉盛宴| 日韩欧美在线不卡| 欧美激情中文不卡| 性感美女极品91精品| 国产一区二区三区免费在线观看 | 亚洲午夜久久久久久久久电影院 | 亚洲天堂精品视频| 亚洲线精品一区二区三区| 久久精品久久综合| av午夜一区麻豆| 日韩一二在线观看| 国产精品福利一区| 午夜激情一区二区三区| 国产麻豆一精品一av一免费 | 欧洲一区二区三区在线| 日韩美女视频在线| 亚洲黄色录像片| 狠狠色丁香久久婷婷综合_中| 亚洲国产成人精品视频| 国产不卡视频在线观看| 亚洲欧美自拍偷拍| 91福利资源站| 蜜乳av一区二区三区| 免费在线观看视频一区| 国内精品国产三级国产a久久| 91国偷自产一区二区开放时间| 精品免费一区二区三区| 亚洲免费成人av| 成人性视频免费网站| 在线播放91灌醉迷j高跟美女 | 精品999在线播放| 亚洲国产精品久久一线不卡| 国产成人av资源| 欧美成人激情免费网| 亚洲一区二区精品久久av| av一本久道久久综合久久鬼色| 91精品国产综合久久国产大片| 亚洲图片你懂的| 国产成人精品一区二| 精品播放一区二区| 免费欧美日韩国产三级电影| 欧美日韩亚洲综合在线| 一个色综合av| 一本一道久久a久久精品综合蜜臀| 国产精品国产精品国产专区不片| 狠狠色狠狠色合久久伊人| 国产在线一区二区| 久久久精品综合| 欧美日韩国产成人在线免费| 福利一区在线观看| 中文字幕在线不卡一区二区三区| 天天综合天天做天天综合| 欧美日韩另类一区| 性感美女极品91精品| 欧美精品电影在线播放| 蜜桃免费网站一区二区三区| 欧美一区二区三区不卡| 麻豆国产欧美日韩综合精品二区| 欧美一个色资源| 激情综合网激情| 国产午夜精品久久久久久免费视 | 国产乱一区二区| 日本一区二区三区四区| 成人免费高清在线| 综合久久综合久久| 在线观看日产精品| 视频在线观看一区二区三区| 欧美一级高清片在线观看| 蜜臀91精品一区二区三区| 久久综合九色综合欧美就去吻| 国产精品综合视频| 亚洲色图都市小说| 7777精品伊人久久久大香线蕉超级流畅 | 日本一区二区成人在线| 成人精品视频一区二区三区 | 成人动漫av在线| 亚洲免费观看在线视频| 欧美高清精品3d| 国产伦精品一区二区三区免费| 国产精品私房写真福利视频| 在线免费观看成人短视频| 毛片基地黄久久久久久天堂| 国产精品入口麻豆原神| 欧美人妖巨大在线| 国产精品亚洲一区二区三区在线| 中文字幕在线不卡| 欧美一区二区女人| 91免费国产在线观看| 成人v精品蜜桃久久一区| 亚洲成人激情社区| 欧美激情综合五月色丁香| 欧美日韩一区 二区 三区 久久精品| 精品一区二区久久久| 一二三区精品福利视频| 欧美电影免费观看高清完整版在线 | 国产欧美一二三区| 欧美日韩久久不卡| 成人美女在线观看| 蜜桃av噜噜一区| 亚洲国产精品久久人人爱| 国产精品美女久久久久aⅴ| 91麻豆精品国产自产在线| 99精品欧美一区二区三区综合在线| 日本色综合中文字幕| 亚洲精品一卡二卡| 国产精品人人做人人爽人人添| 欧美一区二区三区免费视频| 日本精品视频一区二区| 成人黄色片在线观看| 国产一区999| 美国十次综合导航| 丝袜美腿一区二区三区| 一区二区欧美精品| ...av二区三区久久精品| 久久久久国产精品免费免费搜索| 在线播放欧美女士性生活| 欧美伊人久久大香线蕉综合69| av资源站一区| 不卡高清视频专区| 丰满白嫩尤物一区二区| 精品亚洲porn| 精品一区精品二区高清| 日本一不卡视频| 天天色图综合网| 亚洲第一福利视频在线| 国产精品久久久久桃色tv| 欧美国产日韩亚洲一区| 国产精品视频你懂的| 国产午夜精品一区二区三区嫩草| 欧美精品一区二区三区四区| 日韩欧美二区三区| 欧美成人艳星乳罩| 精品久久久三级丝袜| 26uuu另类欧美| 久久九九国产精品| 国产欧美一区视频| 国产精品女同一区二区三区| 国产精品美女久久久久久久| 国产精品嫩草影院av蜜臀| 最新日韩在线视频| 亚洲乱码国产乱码精品精98午夜 | 国产精品亚洲а∨天堂免在线| 狠狠狠色丁香婷婷综合激情| 国产一区二区福利| 岛国av在线一区| 白白色亚洲国产精品| 色悠久久久久综合欧美99| 91精品1区2区| 日韩欧美在线影院| 国产精品理论在线观看| 一区二区三区在线影院| 亚洲国产精品一区二区久久恐怖片 | 在线播放视频一区| 精品国产乱码久久久久久闺蜜| 久久综合狠狠综合| 专区另类欧美日韩| 亚洲大片在线观看| 国产中文一区二区三区| 91在线观看成人| 欧美一区二区视频免费观看| 欧美激情中文字幕一区二区| 亚洲一区二区欧美日韩| 国产真实乱对白精彩久久| 91啪亚洲精品| 精品国产一区二区三区久久久蜜月 | 欧美日韩在线一区二区| 日韩精品一区二| 亚洲免费大片在线观看| 久久国产精品区| 色狠狠一区二区| 日韩精品一区二区三区四区视频| 国产欧美日韩麻豆91| 一区二区三区欧美日韩| 国产真实乱偷精品视频免| 欧美视频一区二区在线观看| 国产亚洲午夜高清国产拍精品 | 一本在线高清不卡dvd| 精品欧美乱码久久久久久| 亚洲国产视频在线|