Windows для профессионалов


         

Windows для профессионалов

Что такое экспорт - 2
Создание DLL для использования с другими средствами разработки (отличными от Visual C++)
Создание DLL для использования с другими средствами разработки (отличными от Visual C++) - 2
Создание ЕХЕ-модуля
Что такое импорт
Что такое импорт - 2
Выполнение ЕХЕ-модуля
Выполнение ЕХЕ-модуля - 2

ГЛАВA 20 DLL: более сложные методы программирования
Явная загрузка DLL и связывание идентификаторов
Явная загрузка DLL
Явная загрузка DLL - 2
Явная выгрузка DLL
Явная выгрузка DLL - 2
Явное подключение экспортируемого идентификатора
Функция входа/выхода
Функция входа/выхода - 2
Уведомление DLL_PROCESS_ATTACH

Уведомление DLL_PROCESS_DETACH
Уведомление DLL_THREAD_ATTACH
Уведомление DLL_THREAD_DETACH
Как система упорядочивает вызовы DIIMain
Как система упорядочивает вызовы DIIMain - 2
Как система упорядочивает вызовы DIIMain - 3
Функция DllMain и библиотека С/С++
Функция DllMain и библиотека С/С++ - 2
Отложенная загрузка DLL
Отложенная загрузка DLL - 2

Отложенная загрузка DLL - 3
Отложенная загрузка DLL - 4
Отложенная загрузка DLL - 5
Отложенная загрузка DLL - 6
Программа-пример DelayLoadApp
Переадресация вызовов функций
Известные DLL
Перенаправление DLL
Модификация базовых адресов модулей
Модификация базовых адресов модулей - 2

Модификация базовых адресов модулей - 3
Модификация базовых адресов модулей - 4
Модификация базовых адресов модулей - 5
Модификация базовых адресов модулей - 6
Связывание модулей
Связывание модулей - 2
Связывание модулей - 3
Глава 21 - Локальная память потока
Глава 21 - Локальная память потока - 2
Динамическая локальная память потока

Динамическая локальная память потока - 2
Использование динамической TLS
Использование динамической TLS - 2
Статическая локальная память потока
Статическая локальная память потока - 2
ГЛАВА 22 Внедрение DLL и перехват API-вызовов
Пример внедрения DLL
Пример внедрения DLL - 2
Внедрение DLL c использованием реестра
Внедрение DLL c использованием реестра - 2

Внедрение DLL с помощью ловушек
Внедрение DLL с помощью ловушек - 2
Утилита для сохранения позиций элементов на рабочем столе
Утилита для сохранения позиций элементов на рабочем столе - 2
Утилита для сохранения позиций элементов на рабочем столе - 3
Утилита для сохранения позиций элементов на рабочем столе - 4
Внедрение DLL с помощью удаленных потоков
Внедрение DLL с помощью удаленных потоков - 2
Внедрение DLL с помощью удаленных потоков - 3
Внедрение DLL с помощью удаленных потоков - 4

Внедрение DLL с помощью удаленных потоков - 5
Программа-пример lnjLib
Библиотека lmgWalk.dll
Внедрение троянской DLL
Внедрение DLL как отладчика
Внедрение кода в среде Windows 98 через проецируемый в память файл
Внедрение кода через функцию CreateProcess
Перехват API-вызовов: пример
Перехват API-вызовов подменой кода
Перехват API-вызовов с использованием раздела импорта

Перехват API-вызовов с использованием раздела импорта - 2
Перехват API-вызовов с использованием раздела импорта - 3
Перехват API-вызовов с использованием раздела импорта - 4
Программа-пример LastMsgBoxlnfo
Программа-пример LastMsgBoxlnfo - 2
Глава 23 - Обработчики завершения
Глава 23 - Обработчики завершения - 2
Примеры использования обработчиков завершения
Funcenstein1
Funcenstein2

Funcenstein2 - 2
Funcenstein3
Funcfurter1
Проверьте себя: FuncaDoodleDoo
Funcenstein4
Funcarama1
Funcarama2
Funcarama3
Funcarama4: последний рубеж
И еще о блоке finally

Funcfurter2
Программа-пример SEHTerm
Глава 24 - Фильтры и обработчики исключений
Примеры использования фильтров и обработчиков исключений
Funcmeister1
Funcmeister2
EXCEPTION_EXECUTE_HANDLER
EXCEPTION_EXECUTE_HANDLER - 2
Некоторые полезные примеры
Некоторые полезные примеры - 2

Некоторые полезные примеры - 3
Глобальная раскрутка
Глобальная раскрутка - 2
Остановка глобальной раскрутки
EXCEPTION_CONTINUE_EXECUTION
Будьте осторожны с EXCEPTION_CONTINUE_EXECUTION
EXCEPTION_CONTINUE_SEARCH
Функция GetExceptionCode
Функция GetExceptionCode - 2
Функция GetExceptionCode - 3

Функция GetExceptionCode - 4
Функция GetExceptionlnformation
Функция GetExceptionlnformation - 2
Функция GetExceptionlnformation - 3
Функция GetExceptionlnformation - 4
Программные исключения
Программные исключения - 2
Программные исключения - 3
Программные исключения - 4
Глава 25 - Необработанные исключения и исключения С++

Глава 25 - Необработанные исключения и исключения С++ - 2
Отладка по запросу
Отладка по запросу - 2
Отключение вывода сообщений об исключении
Принудительное завершение процесса
Создание оболочки вокруг функции потока
Создание оболочки вокруг всех функций потоков
Автоматический вызов отладчика
Явный вызов функции UnhandledExceptionFilter
Функция UnhandledExceptionFilter изнутри

Функция UnhandledExceptionFilter изнутри - 2
Исключения и отладчик
Исключения и отладчик - 2
Программа-пример Spreadsheet
Программа-пример Spreadsheet - 2
Исключения С++ и структурные исключения
Исключения С++ и структурные исключения - 2
Перехват структурных исключений в С++
Перехват структурных исключений в С++ - 2
Глава 26 - Оконные сообщения

Очередь сообщений потока
Посылка асинхронных сообщений в очередь потока
Посылка асинхронных сообщений в очередь потока - 2
Посылка синхронных сообщений окну
Посылка синхронных сообщений окну - 2
Посылка синхронных сообщений окну - 3
Посылка синхронных сообщений окну - 4
Посылка синхронных сообщений окну - 5
Посылка синхронных сообщений окну - 6
Посылка синхронных сообщений окну - 7

Пробуждение потока
Флаги состояния очереди
Содержание