64-битные окна — мне нужно использовать IMAGE_NT_HEADERS64?

Я пытаюсь прочитать PE-заголовки некоторых процессов в среде Windows 64, и так как мой код работает, просто читая структуру IMAGE_NT_HEADERS для 32- и 64-битных исполняемых файлов, мне стало интересно: нужно ли мне писать что-то вроде

if executable is 64 bit
use IMAGE_NT_HEADERS64
else
use IMAGE_NT_HEADERS

? Кажется, мой код работает, просто используя IMAGE_NT_HEADERS для 64- и 32-битных процессов, я что-то упустил?

1

Решение

Очевидно, что разница в некоторых полях OptionalHeader. Например, ImageBase 64-битной версии имеет 64-битный размер. Если ваш код не использует поля после ImageBase (в том числе) — ваш код пройдет тесты.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]