Урок 1. Общие вопросы.
- Родительская категория: x32
- Категория: Fasm x32
- Опубликовано 24 Ноябрь 2016
- Автор: HandyCat
- Просмотров: 4858
Iczelion's Win32 Assembly Tutorial - понятные, простые и несомненно необходимые уроки для того, кто решил изучить 32 битный ассемблер и его использование в операционных системе Windows. Первоначально уроки написаны для masm32 (http://masm32.com). Их можно найти в интернете в разном виде и на разных сайтах. Наша задача - раскрыть программирование на ассемблере для 64 битных систем. Этот вопрос слабо освещен и достаточно актуален. Для решения этой задачи мы выбрали fasm. Данный ассемблер позволяет писать как 32 битные, так и 64 битные приложения, используя предустановленные макросы.
В сети достаточно исходников на fasm. Ассемблер перспективно развивается. Masm32 - не смотря на прекрасную библиотеку кода, макрокоманд и полную совместимость со всеми версиями (пока со всеми) MS VС++ (входит в состав MS VS), не имеет возможности работать с 64 битным кодом. Вместе с тем, написание 32 битного кода вполне приемлемо благодаря практически полной (за редким исключением) гарантии работы 32 битных приложений в 64 битном варианте операционной системы Windows. Кроме этого, полезно изучить 32 битный код для того, чтобы просто и с легкостью перейти к 64 битному.
По этим причинам выкладываем Уроки Iczelion's Win32 Assembly Tutorial переписанные на fasm. Fasm можно скачать на официальном сайте (https://flatassembler.net). Мы собрали все необходимое для программирования на ассемблере в самораспаковывающемся rar-архиве, который можно скачать у нас на сайте: RadAsm - настройка среды разработки.
Несколько моментов, которые нужно знать для работы с fasm.
- Предполагается, что общие навыки программирования у вас имеются.
- Документацию и все необходимое можно найти на официальном сайте : https://flatassembler.net .
- Более подробную информацию о fasm найдете на замечательном сайте : http://asmworld.ru .
- Есть видеоуроки на www.youtube.com , ищите другие сайты.
Напомним, что включение в проект файлов с постфиксом ax перед точкой расширения (таких, как win32ax.inc, win64ax.inc) дает возможность работать с огромным числом дополнительных макровозможностей, в том числе создавая код очень похожим на код masm32 (условные переходы с помощью .if ... .elseif ... .endif, команда invoke, stdcall и т.д.). Если используются расширенные возможности, не забывайте, что в отличии от masm32, вызов системных функций операционки производится с помощью invoke, а функций, написанных вами - с помощью stdcall (для 32 битных, для 64 битных - fastcall).
Справка : кейлоггер The Rat! писался на masm32. Должны признать, что в случае более раннего знакомства с fasm, скорее всего решение было бы принято в его пользу!