最終更新:2012-01-08 (日) 10:26:52 (4463d)
IMAGE_DOS_HEADER
Top / IMAGE_DOS_HEADER
MS-DOSで認識可能なデータフォーマット
もともとWindowsはMS-DOSの上位OSとして設計されてきた経緯があるため、Windows XPが主流の現在でも、データの内部には遺物として残っている。
IMAGE_DOS_HEADER構造体は、EXEファイルの0バイト目から保存されている。
IMAGE_DOS_HEADER構造体 (winnt.h)
typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number WORD e_cblp; // Bytes on last page of file WORD e_cp; // Pages in file WORD e_crlc; // Relocations WORD e_cparhdr; // Size of header in paragraphs WORD e_minalloc; // Minimum extra paragraphs needed WORD e_maxalloc; // Maximum extra paragraphs needed WORD e_ss; // Initial (relative) SS value WORD e_sp; // Initial SP value WORD e_csum; // Checksum WORD e_ip; // Initial IP value WORD e_cs; // Initial (relative) CS value WORD e_lfarlc; // File address of relocation table WORD e_ovno; // Overlay number WORD e_res[4]; // Reserved words WORD e_oemid; // OEM identifier (for e_oeminfo) WORD e_oeminfo; // OEM information; e_oemid specific WORD e_res2[10]; // Reserved words LONG e_lfanew; // File address of new exe header } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
マジックナンバー
- 先頭のMZは設計者 Mark Zbikowski 氏のイニシャル