亚洲欧美第一页_禁久久精品乱码_粉嫩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]));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品1区2区3区| 亚洲成人在线观看视频| 一区av在线播放| 日韩激情一二三区| 丁香另类激情小说| 欧美一卡二卡三卡四卡| 国产精品久久久久天堂| 久久99精品国产.久久久久| 91影院在线免费观看| 久久网站最新地址| 日韩成人精品在线| 欧美午夜精品电影| 亚洲美女免费在线| www.亚洲色图.com| 国产日产欧产精品推荐色| 奇米影视在线99精品| 欧美日韩高清在线| 一区二区三区四区不卡在线 | 国产在线精品一区二区夜色| 色婷婷久久99综合精品jk白丝| 国产精品视频一区二区三区不卡| 国精产品一区一区三区mba桃花 | 在线视频一区二区三| 国产精品日日摸夜夜摸av| 精品一区二区三区视频 | 蜜臀久久99精品久久久久宅男| 欧美亚洲国产一区二区三区| 亚洲免费在线播放| 色综合久久六月婷婷中文字幕| 中文字幕在线播放不卡一区| av一区二区三区| 亚洲欧洲日本在线| 91亚洲精华国产精华精华液| 亚洲三级在线播放| 日本精品一级二级| 亚洲不卡在线观看| 538在线一区二区精品国产| 日本不卡不码高清免费观看| 精品电影一区二区| 国产乱码精品1区2区3区| 欧美国产精品一区二区| caoporn国产一区二区| 亚洲人成亚洲人成在线观看图片| 欧美中文字幕一区| 无码av免费一区二区三区试看| 在线观看91av| 国产乱色国产精品免费视频| 国产精品毛片a∨一区二区三区| 波多野结衣的一区二区三区| 亚洲精品视频观看| 91精品国产黑色紧身裤美女| 久久99精品久久久久久久久久久久 | 亚洲v精品v日韩v欧美v专区| 欧美一区二区性放荡片| 国产裸体歌舞团一区二区| 国产精品久久久久aaaa| 欧美色国产精品| 久久精品国产精品青草| 国产精品久久久久久一区二区三区 | 亚洲影视在线观看| 久久综合五月天婷婷伊人| 国产一区二区0| 亚洲资源在线观看| 久久久噜噜噜久久人人看| 色婷婷亚洲综合| 国产在线乱码一区二区三区| 一区二区三区日本| 2021国产精品久久精品| 欧美日韩亚洲综合在线| 国产成人免费在线观看| 成人三级伦理片| 亚洲一区自拍偷拍| 国产午夜精品一区二区三区视频 | 91精品国产综合久久久蜜臀粉嫩| 国产麻豆成人精品| 三级一区在线视频先锋 | 91视频国产资源| 蜜桃久久av一区| 亚洲成人免费在线| 国产精品超碰97尤物18| 日韩精品一区二区三区中文不卡| 91在线视频网址| 国产精品99久久久久久有的能看| 玉足女爽爽91| 中文字幕一区日韩精品欧美| 精品久久久久香蕉网| 欧美日韩一区三区| 色综合久久久久久久久| 国产精品亚洲第一| 免费看黄色91| 亚洲一区二区在线观看视频| 国产精品久久久久三级| 久久久综合激的五月天| 日韩一区二区三区观看| 欧美日韩国产一级片| 色婷婷综合久久久久中文一区二区 | 欧美精品日韩一区| 色国产精品一区在线观看| 成人深夜在线观看| 粉嫩13p一区二区三区| 狠狠色综合色综合网络| 毛片一区二区三区| 天堂va蜜桃一区二区三区漫画版 | 欧美经典三级视频一区二区三区| 日韩免费视频线观看| 欧美日韩精品专区| 欧美性猛交xxxx黑人交| 日本二三区不卡| 91视频精品在这里| 日本高清视频一区二区| 色综合久久久久网| 91成人免费在线视频| 色哟哟国产精品| 欧美在线观看视频一区二区三区| 91麻豆123| 在线欧美小视频| 欧美中文一区二区三区| 欧美日韩第一区日日骚| 91精品国产入口| 精品日韩在线观看| 久久久www免费人成精品| 久久久久国产精品麻豆ai换脸| 国产欧美日韩激情| 中文字幕在线不卡国产视频| 亚洲男人天堂av网| 亚洲成va人在线观看| 美女国产一区二区| 国产精品亚洲а∨天堂免在线| 成人动漫一区二区在线| 91天堂素人约啪| 欧美午夜片在线看| 日韩午夜中文字幕| 久久久久久久国产精品影院| 国产精品乱人伦一区二区| 亚洲男人的天堂av| 婷婷夜色潮精品综合在线| 毛片av一区二区三区| 成人一区二区在线观看| 在线中文字幕一区| 精品毛片乱码1区2区3区| 国产精品无码永久免费888| 亚洲综合区在线| 久久99最新地址| 99久久精品国产毛片| 欧美日韩黄色影视| 久久久久久久国产精品影院| 亚洲美女免费在线| 国产在线日韩欧美| 欧洲亚洲精品在线| 国产日本亚洲高清| 日韩国产在线观看| jvid福利写真一区二区三区| 91精品国产综合久久精品| 国产欧美一二三区| 日本一区中文字幕| 99久久精品一区二区| 精品久久一二三区| 亚洲自拍偷拍综合| 成人免费电影视频| 日韩精品中午字幕| 亚洲一区在线观看免费| 国产美女精品在线| 欧美精品久久久久久久多人混战 | 久久99久久99| 日本久久电影网| 国产精品色婷婷久久58| 图片区小说区区亚洲影院| 97久久精品人人做人人爽| 精品国产网站在线观看| 亚洲一区二区三区视频在线播放 | 91精品国产色综合久久久蜜香臀| 中文字幕亚洲不卡| 国产成人在线电影| 日韩欧美国产wwwww| 午夜精品aaa| 色噜噜夜夜夜综合网| 亚洲国产精品ⅴa在线观看| 久久精品噜噜噜成人av农村| 欧美日韩在线精品一区二区三区激情| 国产偷v国产偷v亚洲高清| 免费成人小视频| 欧美精品1区2区3区| 亚洲综合在线观看视频| 91免费版pro下载短视频| 国产日韩亚洲欧美综合| 狠狠色综合播放一区二区| 日韩欧美一区二区免费| 奇米精品一区二区三区在线观看| 欧美日韩激情一区二区三区| 一区二区三区精品视频| 91麻豆国产福利精品| 国产精品久久久一区麻豆最新章节| 国产九色精品成人porny | 亚洲国产成人av| 91成人看片片| 亚洲五月六月丁香激情| 欧美怡红院视频| 亚洲一本大道在线| 欧美日韩在线播放三区| 午夜精品在线看|