Ниже приведена дамп первых нескольких байтов Kernel32.dll в 64-битной версии Windows 8. Смещение к PE-сигнатуре f8 сохраняется в местоположении 3c. Значения в f8 (50 45 00 00), по-видимому, обозначают соответствующую подпись PE, за которой должен следовать тип машины, который в этом случае должен быть 014C для IMAGE_FILE_MACHINE_I386, но мы находим 64 86. Любые идеи по этому вопросу кажущееся несоответствие? Я знаю, что, возможно, я пропустил много знаний о том, как DLL появляется на диске и как они работают после загрузки в память. Я ищу источники, из которых я могу опираться. Любая информация будет высоко оценена.
Заранее спасибо!
6486 означает, что IMAGE_FILE_MACHINE_AMD64 ведьма правильная, так как вы на 64-битной машине. Kernel32.dll не является 32-разрядной dll, имя kernel32 - это просто имя и оно одинаково для 32-х и 64-разрядных машин.