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


Ассемблер для Windows — Рассмотрены необходимые сведения для программирования Windows-приложений на ассемблерах MASM и TASM: разработка оконных и консольных приложений; создание динамических библиотек; многозадачное программирование; программирование в локальной сети, в том числе и с использованием сокетов; создание драйверов, работающих в режиме ядра; простые методы исследования программ и др.
В новом издании материал существенно переработан в соответствии с новыми возможностями ОС. Значительно шире рассмотрены вопросы управления файлами и API-программирования в Windows.
К книге прилагается компакт-диск со всеми примерами, которые приводятся или упоминаются в тексте.

Название: Ассемблер для Windows
Автор: Пирогов В. Ю.
Издательство: БХВ-Петербург
Год: 2011
Страниц: 886
Формат: PDF + ФАЙЛЫ
Размер: 28,17 МБ
Качество: Отличное

Содержание:

Введение
Что нового?
Соглашения
О Windows Vista
Структура изложения
Введение ко второму изданию книги "Ассемблер для Windows"
Введение к третьему изданию книги "Ассемблер для Windows"
ЧАСТЬ I. ОСНОВЫ ПРОГРАММИРОВАНИЯ В WINDOWS
Глава 1.1. Средства программирования в Windows
Первая программа на языке ассемблера и ее трансляция
Объектные модули
Директива INVOKE
Данные в объектном модуле
Упрощенный режим сегментации
О пакете MASM32
Обзор пакета MASM32
Трансляторы
Редактор QEDITOR
Дизассемблеры
Глава 1.2. Основы программирования в операционной системе Windows
Вызов функций API
Структура программы
Регистрация класса окон
Создание окна
Цикл обработки очереди сообщений
Процедура главного окна
Примеры простых программ для Windows
Еще о цикле обработки сообщений
Передача параметров через стек
Глава 1.3. Примеры простых программ на ассемблере
Принципы построения оконных приложений
Окно с кнопкой
Окно с полем редактирования
Окно со списком
Дочерние и собственные окна
Глава 1.4. Ассемблер MASM
Командная строка ML.EXE
Командная строка LINK.EXE
Включение в исполняемый файл отладочной информации
Получение консольных и GUI-приложений
Автоматическая компоновка
"Самотранслирующаяся" программа
Глава 1.5. О кодировании текстовой информации в операционной системе Windows
О кодировании текстовой информации
OEM и ANSI
Кодировка Unicode
ЧАСТЬ II. ПРОСТЫЕ ПРОГРАММЫ, КОНСОЛЬНЫЕ ПРИЛОЖЕНИЯ, ОБРАБОТКА ФАЙЛОВ
Глава 2.1. Вывод графики и текста в окно. Библиотека GDI
Вывод текста в окне
Выбор шрифта
Графические образы
Глава 2.2. Графика: GDI+, DirectX, OpenGL
Работаем с функциями GDI+
Библиотека DirectX
Программируем на OpenGL
Глава 2.3. Консольные приложения
Создание консоли
Обработка событий от мыши и клавиатуры
Событие KEY_EVENT
Событие MOUSE_EVENT
Событие WINDOW_BUFFER_SIZE_EVENT
Таймер в консольном приложении
Глава 2.4. Понятие ресурса. Редакторы и трансляторы ресурсов
Пиктограммы
Курсоры
Битовые изображения
Строки
Диалоговые окна
Меню
Акселераторы
Немодальные диалоговые окна
Глава 2.5. Примеры программ, использующих ресурсы
Динамическое меню
Горячие клавиши
Управление списками
Программирование в стиле Windows XP и Windows Vista
Глава 2.6. Управление файлами: начало
Характеристики файлов
Атрибут файла
Временные характеристики
Длина файла
Имя файла
Файловая система FAT32
Файловая система NTFS
Каталоги в NTFS
Сжатие файлов в NTFS
Точки повторной обработки
Поиск файлов
Приемы работы с двоичными файлами
Пример получения временных характеристик файла
Глава 2.7. Директивы и макросредства ассемблера
Метки
Строки
Структуры
Объединения
Удобный прием работы со структурами
Условное ассемблирование
Вызов процедур
Макроповторения
Макроопределения
Некоторые другие директивы транслятора ассемблера
Конструкции времени исполнения программы
Пример программы одинаково транслируемой как в MASM, так и в TASM
Глава 2.8. Еще об управлении файлами (CreateFile и другие функции)
Полное описание функции CreateFile для работы с файлами
Другие возможности функции CreateFile
Почтовый ящик или mailslot
Каналы передачи информации (pipes)
Дисковые устройства
Обзор некоторых других функций API, используемых для управления файлами
Асинхронный ввод/вывод
Запись в файл дополнительной информации
ЧАСТЬ III. СЛОЖНЫЕ ПРИМЕРЫ ПРОГРАММИРОВАНИЯ В WINDOWS
Глава 3.1. Таймер в оконных приложениях
Общие сведения
Простейший пример использования таймера
Взаимодействие таймеров
Всплывающие подсказки
Глава 3.2. Многозадачное программирование
Процессы и потоки
Потоки
Взаимодействие потоков
Семафоры
События
Критические секции
Взаимоисключения
Глава 3.3. Создание динамических библиотек
Общие понятия
Создание динамических библиотек
Неявное связывание
Использование общего адресного пространства
Совместное использование памяти разными процессами
Глава 3.4. Сетевое программирование
Сетевые устройства
Поиск сетевых устройств и подключение к ним
О сетевых протоколах TCP/IP
О модели OSI
О семействе TCP/IP
Об IP-адресации
Маскирование адресов
Физические адреса и адреса IP
О службе DNS
Автоматическое назначение IP-адресов
Маршрутизация и ее принципы
Управление сокетами
Пример простейшего клиента и сервера
Глава 3.5. Разрешение некоторых проблем программирования в Windows
Глава 3.6. Некоторые вопросы системного программирования в Windows
Страничная и сегментная адресация
Адресное пространство процесса
Управление памятью
Динамическая память
Виртуальная память
Фильтры (HOOKS)
Глава 3.7. Совместное использование ассемблера с языками высокого уровня
Согласование вызовов (исторический экскурс)
Согласование имен
Согласование параметров
Простой пример использования ассемблера с языками высокого уровня
Передача параметров через регистры
Вызовы API и ресурсы в ассемблерных модулях
Развернутый пример использования языков ассемблера и C
Встроенный ассемблер
Пример использования динамической библиотеки
Использование языка C из программ, написанных на языке ассемблера
Глава 3.8. Программирование сервисов
Основные понятия и функции управления
Структура сервисов
Пример сервиса
ЧАСТЬ IV. ОТЛАДКА, АНАЛИЗ КОДА ПРОГРАММ, ДРАЙВЕРЫ
Глава 4.1. Обзор инструментов для отладки и дизассемблирования
Утилиты фирмы Microsoft
EDITBIN.EXE
DUMPBIN.EXE
Дизассемблер W32Dasm
Отладчик OllyDbg
Другие инструменты
DUMPPE.EXE
Hiew.exe
DEWIN.EXE
IDA Pro
Глава 4.2. Отладчик OllyDbg
Начало работы с отладчиком
Окна отладчика
Отладочное выполнение
Точки останова
Обычные точки останова
Условные точки останова
Условные точки останова с записью в журнал
Точка останова на сообщения Windows
Точка останова на функции импорта
Точка останова на область памяти
Точка останова в окне Memory
Аппаратные точки останова
Другие возможности
Окно наблюдения
Поиск информации
Исправление исполняемого модуля
Глава 4.3. Описание работы с дизассемблером W32Dasm и отладчиком SoftICE
Отладчик W32Dasm
Начало работы
Передвижение по дизассемблированному тексту
Отображение данных
Вывод импортированных и экспортированных функций
Отображение ресурсов
Операции с текстом
Загрузка программ для отладки
Работа с динамическими библиотеками
Точки останова
Модификация кода, данных и регистров
Поиск нужного места в программе
Отладчик SoftICE
Основы работы с SoftICE
Запуск и интерфейс
Краткий справочник по SoftICE
Глава 4.4. Основы анализа кода программ
Переменные и константы
Управляющие структуры языка С
Условные конструкции
Вложенные условные конструкции
Оператор switch или оператор выбора
Циклы
Локальные переменные
Функции и процедуры
Оптимизация кода
Объектное программирование
Глава 4.5. Исправление исполняемых модулей
Простой пример исправления исполняемого модуля
Пример снятия защиты
Стадия 1. Попытка зарегистрироваться
Стадия 2. Избавляемся от надоедливого окна
Стадия 3. Доводим регистрацию до логического конца
Стадия 4. Неожиданная развязка
Глава 4.6. Структура и написание драйверов
О ядре и структуре памяти
Управление драйверами
Пример простейшего драйвера, работающего в режиме ядра
Драйверы режима ядра и устройства
ПРИЛОЖЕНИЯ
Приложение 1. Справочник API-функций и сообщений Windows
Приложение
. Справочник по командам и архитектуре микропроцессора Pentium
Регистры микропроцессора Pentium
Регистры общего назначения
Регистр флагов
Сегментные регистры
Управляющие регистры
Системные адресные регистры
Регистры отладки
Команды процессора
Команды арифметического сопроцессора
Расширение MMX
О новых инструкциях MMX
Приложение 3. Защищенный режим микропроцессора Pentium
Об уровнях привилегий
Селекторы
Дескриптор кода и данных
Другие дескрипторы
Сегмент TSS
О защите и уровнях привилегий
Привилегированные команды
Переключение задач
Страничное управление памятью
Приложение 4. Структура исполняемых модулей
Общая структура PE-модуля
Заголовок PE-модуля
Таблица секций
Секция экспорта (.edata)
Секция импорта (.idata)
Локальная область данных потоков
Секция ресурсов (.rdata)
Таблица настроек адресов
Отладочная информация (.debug$S, .debug$T)
Приложение 5. Файл kern.inc, используемый в главе 4.6
Приложение
Пример консольного приложения с полной обработкой событий
Приложение 7. Описание компакт-диска
Список литературы
Предметный указатель



Не забудьте поделиться с друзьями:

Смотрите также:




Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Голосования

Статистика
Сейчас на сайте
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Посетившие за день
[ Полный Список ]

Реклама