, PE, 30 - MS-DOS, , "A8" , _IMAGE_DOS_HEADER, LONG e_lfanew; // File address of new exe header;
"A8" IMAGE_NT_HEADER,
- DWORD;
- _IMAGE_FILE_HEADER FileHeader;
- _IMAGE_OPTIONAL_HEADER Header;
The first two bytes are the original title in the MS-DOS executable file, as shown in this constant: WORD IMAGE_DOS_SIGNATURE = 0x5A4D; // MZ; IMAGE_NT_HEADER has this signature to determine that it is an executable for NT platforms DWORD IMAGE_NT_SIGNATURE = 0x00004550; // PE00;
You will find all this information in the header file pe.h.
What happened, you destroyed the value "A8", the bootloader could not find IMAGE_NT_HEADERand therefore could not.
source
share