| 122 | }; |
| 123 | |
| 124 | struct IMAGE_DOS_HEADER { // DOS .EXE header |
| 125 | unsigned short e_magic; // Magic number |
| 126 | unsigned short e_cblp; // Bytes on last page of file |
| 127 | unsigned short e_cp; // Pages in file |
| 128 | unsigned short e_crlc; // Relocations |
| 129 | unsigned short e_cparhdr; // Size of header in paragraphs |
| 130 | unsigned short e_minalloc; // Minimum extra paragraphs needed |
| 131 | unsigned short e_maxalloc; // Maximum extra paragraphs needed |
| 132 | unsigned short e_ss; // Initial (relative) SS value |
| 133 | unsigned short e_sp; // Initial SP value |
| 134 | unsigned short e_csum; // Checksum |
| 135 | unsigned short e_ip; // Initial IP value |
| 136 | unsigned short e_cs; // Initial (relative) CS value |
| 137 | unsigned short e_lfarlc; // File address of relocation table |
| 138 | unsigned short e_ovno; // Overlay number |
| 139 | unsigned short e_res[4]; // Reserved words |
| 140 | unsigned short e_oemid; // OEM identifier (for e_oeminfo) |
| 141 | unsigned short e_oeminfo; // OEM information; e_oemid specific |
| 142 | unsigned short e_res2[10]; // Reserved words |
| 143 | long e_lfanew; // File address of new exe header |
| 144 | }; |
| 145 | |
| 146 | struct IMAGE_FILE_HEADER { |
| 147 | unsigned short Machine; |
nothing calls this directly
no outgoing calls
no test coverage detected