Ассемблер для Windows


         

Ассемблер для Windows

Часть IV Отладка анализ кода программ драйверы
Глава Структура исполняемых модулей

Структура ЕХЕпрограммы для MS DOS
Общая структура РЕмодуля
Общая структура РЕзаголовка
Фрагмент РЕзаголовка
Описание заголовка РЕ
Описание заголовка РЕ - 2
Описание заголовка РЕ - 3
Описание заголовка РЕ - 4
Описание заголовка РЕ - 5
Описание заголовка РЕ - 6

Секция экспорта ( edata) Общая структура
Секция экспорта ( edata) Общая структура - 2
Вызов импортируемой функции
Таблица директория импорта
Формат входа в каталог импорта
Локальная область данных цепочек (потоков)
Таблица разделов потоков
Секция ресурсов ( rdata)
Каталог ресурсов (Resource Directory Table)
Вход в таблицу ресурсов (Resource Entry Item)

Таблица настроек адресов
Структура элемента массива настроек
Отладочная информация ( debug$S debug$T)
Отладочный каталог
Глава Обзор отладчиков и дизассемблеров
EDITBIN EXE
DUMPBIN EXE
DUMPBIN EXE - 2
Часть дизассемблированиого
DUMPPE EXE

HIEW EXE
Внешний вид программы HIEW EXE
Дизассемблированный код программы на Рисунок
DEWIN EXE
IDA PRO
Пример дизассемблирования программы с помощью самого мощного дизассемблера IDA PRO (под Windows)
Часть программы содержащей данные дизассемблированная при помощи IDA PRO
Пример командного файла IDA PRO
Отладчик фирмы Borland
Запуск отлаживаемого приложения

Выполнить программу до строки где находится курсор
Выполнить единичную команду
Выполнение команды с переходом через процедуру
Выполнить процедуру
Выполнение с задержкой
Текст программы можно увидеть на экране
Если отладочную информацию в исполняемом модуле
Окно CPU отладчика Turbo Debugger
Окно слежения за переменными
Окно стека

Окно точек останова
Окно регистрации (Log)
Окно переменных
Окно файлов
Окно отображения памяти
Окно сопроцессора
Окно истории выполнения (Execution History)
Окно иерархии (Hierarchy)
Пример окна Turbo Debugger отображающего иерархию классов
Окно потоков

Окно сообщений
Окно буфера обмена
Поговорим теперь об отладке программ
Программа расположенная на Рисунок в окне отладчика
Пример простой консольной программы
Основной целью отладчика Turbo Debugger является отладка программы
Глава Описание работы с дизассемблером WDasm и отладчиком ICE
Программа WDasm
Начало работы
Внешний вид программы WDasm

Фрагмент дизассемблированного текста Передвижение по дизассемблированному тексту
Данные
Окно ссылок на строки
Импортированные и экспортированные функции
Ресурсы
Операции с текстом
Загрузка программ для отладки
Фрагмент списка импортированных модулей и функций
Первое информационное окно отладчика
Работа с динамическими библиотеками

Точки останова
Второе управляющее окно отладчика
Модификация кода данных и регистров
Окно модификации отлаживаемого кода
Поиск нужного места в программе
Окно модификации регистров и ячеек памяти Дополнительные возможности для работы с API
Отладчик SoftIce
Начальная установка
Загрузка программы для отладки
Вид загрузчика SoftIce (LOADER EXE) Окно настройки запуска модуля в отладчике Softice

Обзор команд отладчика
Обзор команд отладчика - 2
Обзор команд отладчика - 3
Глава Основы анализа кода программ
Переменные и константы
Функция main консольного приложения
Окончательный вариант программы
Классические структуры языка Си
Условные конструкции
Оператор switch или оператор выбора

Циклы
Локальные переменные
Пример задания двух локальных массивов Взят из отладчика IDA PRO
Как выглядит фрагмент программы представленный на Рисунок в окне дизассемблера WDasm
Функции и процедуры
Оптимизация кода
Вот как выглядит ассемблерный код
Дизассемблированный текст программы (Рисунок ) Транслятор Borland C++
Дизассемблированный текст программы (Рисунок ) Транслятор Visual C++
Скорость или объем

Оптимизация условных переходов
Оптимизация вызовов процедур
Объектное программирование
Программа на Си++ использующая объекты
Дизассемблированный код функции main с Рисунок Дизассемблер IDA PRO
Дизассемблированный код функции
Глава Исправление исполняемых модулей
Allscreen программа
Окно появляющееся при запуске
Сообщение об истечении времени работы программы

Фрагмент кода осуществляющего в частности задержку
Фрагмент кода проверки количества запусков
Поиск процедуры окна
Будем искать функцию последнего
Начало функции окна
Глава Структура и написание драйверов VXD
VxDдрайвер
VxDдрайвер - 2
Начнем с содержимого DEFфайла
Файл VXD DEF используемый для

Содержимое файла VXD MAP
Содержимое файла VXD MAP - 2
Динамические виртуальные драйверы
Динамические виртуальные драйверы - 2
Программа загружающая использующая и выгружающая динамический драйвер
Программа загружающая использующая и выгружающая динамический драйвер - 2
Пример динамического драйвера
Структура содержащая значения
Содержание