WEB开发网
开发学院网络安全黑客技术 PE文件格式(3) 阅读

PE文件格式(3)

 2007-01-14 20:15:00 来源:WEB开发网   
核心提示: 我们需要找出函数WriteConsoleA()andGetStdHandle().他们在"kernel32.dll".此为输入库部分,我们现在生成可执行文件,PE文件格式(3)(5),问号在后面被找出,DOS-stub,起始于0x0,没有BSS段,变量'writ

我们需要找出函数WriteConsoleA()andGetStdHandle().他们在"kernel32.dll".此为输入库部分。我们现在生成可执行文件。问号在后面被找出。

DOS-stub,起始于0x0,0x40字节:

  00|4d5a0000000000000000000000000000
  10|00000000000000000000000000000000
  20|00000000000000000000000000000000
  30|00000000000000000000000040000000

只是一个头,前面带有签字"MZ"后面是e_lfanew指针。然后是PE签名,起始于0x40,0x4字节:

50450000

下面是文件头,起始于0x44,0x14字节:

  Machine          4c01   ;i386
  NumberOfSections      0200   ;codeanddata
  TimeDateStamp       00000000;whocares?
  PointerToSymbolTable    00000000;unused
  NumberOfSymbols      00000000;unused
  SizeOfOptionalHeader    e000   ;constant
  Characteristics      0201   ;executableon32-bit-machine

下面是optionalheader,起始于0x58,0x60byteslong:

  Magic           0b01   ;constant
  MajorLinkerVersion     00     ;I'mversion0.0:-)
  MinorLinkerVersion     00     ;
  SizeOfCode         20000000;32bytesofcode
  SizeOfInitializedData   ????????;yettofindout
  SizeOfUninitializedData  00000000;wedon'thaveaBSS
  AddressOfEntryPoint    ????????;yettofindout
  BaseOfCode         ????????;yettofindout
  BaseOfData         ????????;yettofindout
  ImageBase         00001000;1MB,chosenarbitrarily
  SectionAlignment      20000000;32-bytes-alignment
  FileAlignment       20000000;32-bytes-alignment
  MajorOperatingSystemVersion 0400   ;NT4.0
  MinorOperatingSystemVersion 0000   ;
  MajorImageVersion     0000   ;version0.0
  MinorImageVersion     0000   ;
  MajorSubsystemVersion   0400   ;Win324.0
  MinorSubsystemVersion   0000   ;
  Win32VersionValue     00000000;unused?
  SizeOfImage        ????????;yettofindout
  SizeOfHeaders       ????????;yettofindout
  CheckSum          00000000;notusedfornon-drivers
  Subsystem         0300   ;Win32console
  DllCharacteristics     0000   ;unused(notaDLL)
  SizeOfStackReserve     00001000;1MBstack
  SizeOfStackCommit     00100000;4KBtostartwith
  SizeOfHeapReserve     00001000;1MBheap
  SizeOfHeapCommit      00100000;4KBtostartwith
  LoaderFlags        00000000;unknown
  NumberOfRvaAndSizes    10000000;constant

计划2个节,一个是代码,一个是数据(包括数据,常量和输入目录),没有重定位,没有其他资源。没有BSS段。变量'written'填入初始化数据。节对齐和文件对齐都是32字节。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:PE 文件 格式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接