Категория: Assembler / Reverse engineering
Язык Assembler (ассемблера) является самым старым языком программирования из всех существующих. Он наиболее близок к машинному языку — родному для компьютеров. Он обеспечивает прямой доступ к компьютерному оборудованию, требуя от вас глубинного понимания архитектуры и принципов работы вашего компьютера и системы. Reverse-engineering (обратная разработка) — процесс восстановления исходного кода из бинарных данных и возможно его последующий анализ с целью понять принципы работы программы. В некоторых случаях это является нарушением авторского права. Даже если обратная разработка выполняется только с целью найти недокументированные возможности исследуемого кода, или поиска в нем ошибок.
Язык Ассемблер
Assembler— язык низкого уровня, как правило, специфичный для конкретной архитектуры процессора. К данной категории мы относим статьи, содержащие исходный код с инструкциями на Ассемблере, описывающие низкоуровневое устройство компонентов системы или относящиеся к области обратной разработки (reverse engineering). Предполагается, что читатель обладает базовыми знаниями в области программирования с использованием команд процессора.
Построение
В большинстве случаев речь идет об инструкциях процессоров семейства x86. Если к статье прилагается исходный код, его можно построить, используя masm 6.15.
Исправление ошибки в поддержке асинхронного COM при запуске приложения
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_150,h_150/https://tips.efmsoft.com/wp-content/uploads/2017/02/bed-bug-clipart-drawings-xGSbQp-clipart-150x150.jpg)
Перехват вызова функций заменой байтов заголовка инструкциями JMP или CALL
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_150,h_150/https://tips.efmsoft.com/wp-content/uploads/2012/01/chip_microchip_ram_processor-512-150x150.png)
Установка хука на вызов функции через таблицу импорта
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_150,h_150/https://tips.efmsoft.com/wp-content/uploads/2012/01/bold-code-02-512-150x150.png)
Динамическая модификация кода — самомодифицирующиеся программы
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_150,h_150/https://tips.efmsoft.com/wp-content/uploads/2012/01/photo-1-150x150.jpg)