PIMAGE_NT_HEADERS Отображение разных значений - PullRequest
0 голосов
/ 11 июля 2020

, поэтому в настоящее время я пытаюсь локально сопоставить приостановленный поток, когда я помещаю свою программу в проводник CFF, он говорит, что значение PIMAGE_NT_HEADERS равно 00004550: enter image description here

however while attempting to map it by myself my value comes out to be 00400080: enter image description here

typedef struct pe {
    PIMAGE_DOS_HEADER peDH;
    PIMAGE_NT_HEADERS peNH;


} pe;

PE.peDH = (PIMAGE_DOS_HEADER)imgBase;
PE.peNH = (PIMAGE_NT_HEADERS)((u_char*)PE.peDH + PE.peDH->e_lfanew);
printf("[?] - NT Headers section is located at: 0x%x\n", PE.peNH);

1 Ответ

1 голос
/ 11 июля 2020

он говорит, что значение PIMAGE_NT_HEADERS равно 00004550

Нет, это не так. Посмотрите еще раз внимательнее. Фактически он говорит, что поле Signature структуры IMAGE_NT_HEADERS равно 00004550. Но вы не печатаете Signature, вы печатаете сам указатель PIMAGE_NT_HEADERS. Не то же самое.

Вместо этого измените свой отпечаток на это:

printf("[?] - NT Headers Signature is: 0x%08x\n", PE.peNH->Signature);
...