Категория: Assembler / Reverse engineering
Язык Assembler (ассемблера) является самым старым языком программирования из всех существующих. Он наиболее близок к машинному языку — родному для компьютеров. Он обеспечивает прямой доступ к компьютерному оборудованию, требуя от вас глубинного понимания архитектуры и принципов работы вашего компьютера и системы. Reverse-engineering (обратная разработка) — процесс восстановления исходного кода из бинарных данных и возможно его последующий анализ с целью понять принципы работы программы. В некоторых случаях это является нарушением авторского права. Даже если обратная разработка выполняется только с целью найти недокументированные возможности исследуемого кода, или поиска в нем ошибок.
Язык Ассемблер
Assembler— язык низкого уровня, как правило, специфичный для конкретной архитектуры процессора. К данной категории мы относим статьи, содержащие исходный код с инструкциями на Ассемблере, описывающие низкоуровневое устройство компонентов системы или относящиеся к области обратной разработки (reverse engineering). Предполагается, что читатель обладает базовыми знаниями в области программирования с использованием команд процессора.
Построение
В большинстве случаев речь идет об инструкциях процессоров семейства x86. Если к статье прилагается исходный код, его можно построить, используя masm 6.15.
Исправление ошибки в поддержке асинхронного COM при запуске приложения

Перехват вызова функций заменой байтов заголовка инструкциями JMP или CALL

Установка хука на вызов функции через таблицу импорта

Динамическая модификация кода — самомодифицирующиеся программы
