Эта статья специально разработана, чтобы помочь
новичкам понять и развить свою первую программу ассемблер с нуля.
Пошаговые инструкции помогут вам использовать инструменты, настроить
среду и затем с помощью детального объяснения скомпилировать
программу «Hello World» на языке ассемблера.
Эта статья является частью нашего бесплатного «Обратного проектирования и анализа вредоносных программ» [Ссылка 4]. Он написан в виде руководства для предварительного обучения для нашей сессии «Часть 4 - Основы программирования в сборке», где мы собираемся освещать Программирование Ассамблеи с обратной инженерной точки зрения. Здесь мы будем демонстрировать программирование сборки с использованием MASM, так как это ассемблер Microsoft и обеспечивает большую гибкость при разработке в среде Windows по сравнению с другими другими сборщиками, такими как NASM и т. Д. Программирование сборок часто является решающей отправной точкой, когда компьютерные программисты изучают свое ремесло. Язык ассемблера (также известный как ASM) - это язык программирования для компьютеров и других устройств, и он обычно считается вариантом низкого уровня по сравнению с более продвинутыми языками, предлагающими дополнительные функции. После написания кода ассемблер преобразует его в машинный код (1 с и 0). Хотя приложения для ассемблерного программирования стали более ограниченными с учетом возрастающей сложности процессоров, Ассамблея остается полезной для ряда целей, включая написание кода для автономных исполняемых файлов или драйверов устройств. Прежде чем приступать к любой попытке написать код, всегда полезно сначала понять сам язык. Существует ряд доступных ресурсов, начиная от учебников и заканчивая онлайн-руководствами. Изучите основные термины. Например, вам нужно знать, что среда IDE (интегрированная среда разработки) обеспечивает интерфейс кодирования, который обрабатывает такие функции, как редактирование текста, отладка и компиляция. Вы также можете лучше понять, как работает сборка, например, тот факт, что «регистры» - это то, что хранит числа, связанные с программным кодом. Более понятная терминология облегчит изучение процесса написания кода. Решите, подходят ли вам ассемблеры. Помните, что существует ряд языков программирования, включая некоторые, которые обеспечивают гораздо больше функциональности, чем сборка. Тем не менее, существует целый ряд приложений, для которых сборка полезна - от создания автономных исполняемых файлов для прошивки телефона и систем управления кондиционированием для разработки определенных инструкций для конкретных процессоров. Определите, какой ассемблер вы хотите использовать. Ассемблеры, такие как A86, NASM или GNU, обычно выполняют менее сложные функции и могут быть подходящими отправными точками для новичков. Каждый ассемблер работает несколько иначе, поэтому последующая инструкция будет работать в предположении, что вы используете MASM (Microsoft Macro Assembler) - базовый ассемблер, который работает с операционными системами Windows. Он использует язык ассемблера x86 и синтаксис Intel. Скриншоты:
|
Комментарии (0)
|