Архитектура x86-64 под скальпелем ассемблерщика


Содержание


Архитектура x86-64 под скальпелем ассемблерщика
Введение
Рисунок1 64-разрядный лейбл, для разнообразия на китайском
Что нам понадобиться?
Рисунок 3 реакция 64-битного Линуха
Листинг1 сборка BOCHS'а с поддержкой эмуляции x86-64
Листинг2 сборка BOCHS'а для компиляции Microsoft Visual C++
Рисунок4 специальная сборка BOCHS'а
Рисунок5 загрузка 64-разрядного Дебиана под эмулятором QEMU
Рисунок6 64-битная версия Windows в стадии начальной загрузки
Обзор x86-64
Рисунок 7 регистры, доступные в x86-64 режиме
Листинг3 загрузка опкода следующей машинной команды в классическом x86
Листинг4 загрузка опкода следующей машинной команды на x86-64
Листинг5 абсолютная адресация в классическом x86
Листинг6 использование фиктивного базирования на x86-64 для абсолютной адресации
>>> Врезка переход в 64-разрдяный режим
Hello world на x86-64
Листинг 8 пример вызова API-функции с пятью параметрами по соглашению x86-64
Листинг9 простейшая 64-битная программа
Листинг10 дизассемблерный листинг простейшей 64-битной программы
Листинг10 дизассемблерный листинг простейшей 64-битной программы - часть 2
Рисунок8 64-битный файл — первый полет
Рисунок9 реакция 32-битной Windows на попытку запуска 64-битного PE-файла
Листинг12 дизассемблерный листинг 64-битного приложения "hello, world!"
Рисунок10 дизассемблирование 64-битного PE-файла 32-битной версий IDA Pro
Листинг13 дизассемблерный листинг 32-битного приложения "hello, world!"
Листинг14 64-битное приложение "hello, world" под Windows на MASM'е
Заключение



- Начало -