Я пытаюсь прочитать PE-файл в C. У меня есть код MZ
, а затем, я не знаю, код e_lfanew
.Чтение файлов PE в C
#include <stdio.h>
#include <Windows.h>
int main()
{
errno_t err;
FILE *fp = NULL;
char *buffer;
err = fopen_s(&fp, "D:\\pe.exe", "rb");
printf("----------dos header---------- \n");
buffer = new char[3]; // malloc: cap phat bo nho//
memset(buffer, 0x0, sizeof(char)* 3); // memset: gan gia tri cho buffer//
fread(buffer, 2 * sizeof(char), 1, fp);
printf("e_magic: %s \n", buffer);
}
Кроме того, я знаю, что это возможно через Win32 API
; однако я хочу учиться на этом и делать это сам.