Ассемблер с нуля. Часть 8. Ключевые понятия.

Отладчики и дизассемблеры DOS - Sourcer.

Основные понятия.

Чтобы идти дальше, нам необходимо получить ключевую информацию об определённых понятиях, научиться использовать в работе отладчики и дизассемблеры — программы, которые помогут нам изучать и анализировать наш код.

  1. Шестнадцатеричная система счисления.
  2. Данные.
  3. Регистры.
  4. Указатель.
  5. Команды ассемблера.
  6. Процедура (подпрограмма, функция).
  7. Стек.

Каждая программа содержит ошибки. Выявление и исправление ошибок обычно занимает около 90% всего времени, затрачиваемого на написание программы, и только 10% времени тратится на написание кода.

Для «копания» в своём или чужом коде существуют отладчики и дизассемблеры.

Отладчики и дизассемблеры.

Сразу скажем, что скачать отладчики и дизассемблеры, необходимые для дальнейшей работы можно с нашего сайта, они находятся в архиве с остальными программами для изучения ассемблера для DOS (DOS-1.rar).

Отладчик даёт возможность проследить выполнение запущенной программы пошагово в режиме непосредственной её работы.

Встроенные в среду программирования любого языка отладчики позволяют отслеживать выполнение кода именно того языка, с помощью которого вы создаёте программу. Однако, есть «стандартные» отладчики, которые позволяют распотрошить любой исполняемый файл, показав пошаговое выполнение инструкций. Там балом правит исключительно ассемблер!

Диизассемблер — это программа, позволяющая преобразовать исполняемый файл в код на языке ассемблера.

Пока мы с вами изучаем программирование на ассемблере в системе MS-DOS, воспользуемся отладчиком Turbo Debugger, дезассемблерами Sourcer и IDA. Рассмотрим краткие характеристики и особенности указанных программ. Более подробно отладчики и дизассемблеры мы рассмотрим попозже.

Turbo Debugger.

Отладчик машинного уровня от фирмы Borland, предназначенный для отладки исполняемых файлов MS-DOS. Входит в пакеты Turbo Assembler (TASM), Turbo Pascal (TP) и Turbo C (TC).

Отладчики и дизассемблеры DOS - Turbo Debugger.
Turbo Debugger (TD) — известнейший DOS отладчик от Borland.

Позволяет просматривать отладочную информацию, добавленную при создании программ в качестве комментариев и исходного кода.

Отладчик классического вида, работает спокойно и правильно, как в чистом DOS, так и в эмуляторе DOSBox.

Sourcer.

Перечисляя отладчики и дизассемблеры прошлого, нельзя не обратить вынимание на Sourcer — в своё время очень известный и популярный дизассемблер DOS программ. Славится очень корректным нахождением так называемых перекрёстных ссылок, что облегчает жизнь хакеру, специализирующемуся на реверс-инженеринге и просто программисту, отлаживающему код.

Отладчики и дизассемблеры DOS - Sourcer.
Sourcer — известнейший
дизассемблер DOS программ.

IDA — Interactive DisAssembler.

IDA — любимый дизассемблер известного хакера Криса Касперского. Многие отладчики и дизассемблеры позавидовали бы глобальности этой программы. Из особенностей можно отметить возможность написания достаточно сложных программ-макросов на встроенном Си-подобном языке, содержащих алгоритмы анализа и отладки приложений.

Получил своё развитие в среде Windows, причем понимает 64 битный код. Генерирует логическую схему программы. При помощи декомпилятора Hex-Ray из дизиссемблерного кода создаёт достаточно живой код на Си.

Отладчики и дизассемблеры для dos - дизассемблер IDA.
Ассемблер для dos — интерактивный дизассемблер IDA.

Наряду со своими внушительными возможностями обладает одним недостатком — сложностью изучения в полном объёме. Необходимо запомнить кучу горячих клавиш, особенностей и фишек. IDA требует такого же изучения, как отдельный язык программирования в приложении к конкретной среде разработки.

Мы рассмотрели только наиболее удобные и функциональные отладчики и дизассемблеры программ операционной системы MS-DOS, которые будем использовать при дальнейшем изучении ассемблера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *