Как создать исполняемый файл .exe PE вручную?

Все тексты о том, как создать компилятор, заканчиваются после объяснения лексеров и синтаксических анализаторов. Они не объясняют, как создать машинный код. Я хочу понять сквозной процесс.

В настоящее время я понимаю, что форматы файлов Windows exe называются Portable Executable. Я читал о заголовках, которые он имеет, но пока не нашел ресурса, который легко объясняет это.

Следующая проблема заключается в том, что я не вижу ни одного ресурса, который бы объяснил, как машинный код хранится в файле. Это как 32-битные инструкции фиксированной длины, хранящиеся одна за другой в секции .text?

Есть ли место, которое хотя бы объясняет, как создать exe-файл, который ничего не делает (у него есть инструкция No Op). Следующим моим шагом будет привязка к dll-файлам для вывода на консоль.

21
задан Ciro Santilli 新疆改造中心法轮功六四事件 23 May 2015 в 13:35
поделиться