Реинженеринг/Дизассемблеры
Эта страница описывает технологии и программы для дизассемблирования. Все перечисленные программы обязаны включать сайт, с которого их можно скачать (только для бесплатного/открытого ПО) или домашнюю страницу (в случае с платными программами). Мы не собираемся ограничивать эту викикнигу только бесплатными программами, даже если они наиболее популярны для начинающих. Если список дизассемблеров станет сильно большим, то его содержимое может быть перемешено в приложение.
Будущее обсуждение дизассемблеров, и процесса дизассемблирование будет обсуждается в последующих секциях.
Что такое дизассемблер ?
[править]По сути, дизассемблер является полной противоположностью ассемблеру. Если Ассемблер конвертирует код написанный на языке ассемблера в двоичный машинный код, то дизассемблер обращает этот процесс и пытается воссоздать код ассемблера из машинного кода.
Так как большинство ассемблеров один-в-один соответствуют машинным инструкциям, процесс дизассемблирования относительно прямоходный, и базовый дизассемблер может быть созданы простым побайтным чтением, и просмотром таблицы соответствий. Конечно дизассемблирование имеет свои собственные проблемы и подвохи, и они будут освещены далее.
Многие дизассемблеры могут иметь настройки для вывода инструкций ассемблера в Intel, AT&T, или (частично) HLA синтаксисы.
Дизассемблеры x86
[править]Дизассемблеры под Windows
[править]Для удобства, мы разделили дизассемблеры под Windows на 2 категории: Коммерческие, и Бесплатные инструменты.
- IDA Pro
- Это профессиональный дизассемблер, крайне мощный, и имеющий весь набор необходимых возможностей. Обратная сторона IDA это цена — 430 долларов США за стандартную однопользовательскую лицензию. Естественно такая цена заслуживает значения, данная викикнига не рассматривает именно IDA Pro, так-как цена исключительна. Существуют две бесплатные версии; смотрите ниже.
- http://www.datarescue.com/idabase/
- PE Explorer
- Дизассемблер «сосредоточенный на простоте использования, доходчивости и навигации». Он не наделен такими возможностями как IDA Pro, однако взамен функциональности, стоит гораздо меньше: $130
- http://www.heaventools.com/PE_Explorer_disassembler.htm
- W32DASM
- Отличнейший 16/32-битный дизассемблер под Windows
- http://members.cox.net/w32dasm/
Бесплатные инструменты
[править]- IDA 3.7
- Этот консольный инструмент очень похож на IDA Pro, однако более ограничен. Может дизассемблировать код для процессоров Z80, 6502, Intel 8051, Intel i860, и PDP-11, так-же хорошо поддерживает инструкции x86 вплоть до 486.
- http://www.simtel.net/product.php
- Ghidra
- Бесплатный дизассемблер от АНБ, конкурирующий с IDA Pro. Поддерживает большинство процессоров, имеет фреймворк для создания скриптов, чтобы расширить функционал.
- https://www.ghidra-sre.org/