Создать Exe-Файл

Самоизоляция – отличное время, чтобы начать дело, требующее много времени и сил.

Поэтому я решил сделать то, что всегда хотел — написать собственный компилятор.

Теперь он способен компилировать Hello World, но в этой статье я хочу поговорить не о парсинге и внутренней структуре компилятора, а о такой важной части, как побайтовая сборка exe-файла.



Начинать

Хотите спойлер? Наша программа будет занимать 2048 байт. Обычно работа с exe-файлами предполагает изучение или изменение их структуры.

Сами исполняемые файлы затем генерируются компиляторами, и этот процесс кажется разработчикам немного волшебным.

Но сейчас мы постараемся это исправить! Для сборки нашей программы нам понадобится любой HEX-редактор (лично я использовал HxD).

Для начала возьмем псевдокод: Источник

   

func MessageBoxA(u32 handle, PChar text, PChar caption, u32 type) i32 ['user32.dll'] func ExitProcess(u32 code) ['kernel32.dll'] func main() {

Теги: #Разработка для Windows #Windows #Ассемблер #winapi #exe #PE
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.