Дизассемблер

Поделись знанием:
Перейти к: навигация, поиск

Дизассе́мблертранслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

По режиму работы с пользователем делятся на

  • Автоматические
  • Интерактивные

Примером автоматических дизассемблеров может служить Sourcer[1]. Такие дизассемблеры генерируют готовый листинг, который можно затем править в текстовом редакторе. Пример интерактивного — IDA. Он позволяет изменять правила дизассемблирования и является весьма удобным инструментом для исследования программ.

Дизассемблеры бывают однопроходные и многопроходные. Основная трудность при работе дизассемблера — отличить данные от машинного кода, поэтому на первых проходах автоматически или интерактивно собирается информация о границах процедур и функций, а на последнем проходе формируется итоговый листинг. Интерактивность позволяет улучшить этот процесс, так как просматривая дамп дизассемблируемой области памяти, программист может сразу выделить строковые константы, дать содержательные имена известным точкам входа, прокомментировать разобранные им фрагменты программы.

Чаще всего дизассемблер используют для анализа программы (или её части), исходный текст которой неизвестен — с целью модификации, копирования или взлома. Реже — для поиска ошибок (багов) в программах и компиляторах, а также для анализа и оптимизации создаваемого компилятором машинного кода.

Обычно однопроходный дизассемблер (как и построчный ассемблер) является составной частью отладчика.





Примеры программ-дизассемблеров

См. также

Напишите отзыв о статье "Дизассемблер"

Литература

Примечания

  1. [www.program-transformation.org/Transform/SourcerDisassembler Sourcer Disassembler. The Program Transformation Wiki]

Ссылки

  • [www.wasm.ru/toollist.php?list=13 Инструменты > Дизассемблеры] (рус.). wasm.ru. — Популярные дизассемблеры. Проверено 1 сентября 2009. [www.webcitation.org/617huqr1j Архивировано из первоисточника 22 августа 2011].
  • [www.thefreecountry.com/programming/disassemblers.shtml Free Disassemblers, Decompilers, Hex Editors & Hex Viewers] (англ.). thefreecountry.com. Проверено 1 сентября 2009. [www.webcitation.org/617hvcuUJ Архивировано из первоисточника 22 августа 2011].
  • [www.openrce.org/articles/ OpenRCE (Open Reverse Code Engineering)] (англ.). — Various Disassembler Resources and Plug-ins. Проверено 1 сентября 2009. [www.webcitation.org/617hw5Kga Архивировано из первоисточника 22 августа 2011].
  • [www.program-transformation.org/Transform/DisAssembly Program Transformation Wiki / Dis Assembly] (англ.). Проверено 1 сентября 2009. [www.webcitation.org/617hwkBUM Архивировано из первоисточника 22 августа 2011].

Отрывок, характеризующий Дизассемблер


В 10 м часу вечера Вейротер с своими планами переехал на квартиру Кутузова, где и был назначен военный совет. Все начальники колонн были потребованы к главнокомандующему, и, за исключением князя Багратиона, который отказался приехать, все явились к назначенному часу.
Вейротер, бывший полным распорядителем предполагаемого сражения, представлял своею оживленностью и торопливостью резкую противоположность с недовольным и сонным Кутузовым, неохотно игравшим роль председателя и руководителя военного совета. Вейротер, очевидно, чувствовал себя во главе.движения, которое стало уже неудержимо. Он был, как запряженная лошадь, разбежавшаяся с возом под гору. Он ли вез, или его гнало, он не знал; но он несся во всю возможную быстроту, не имея времени уже обсуждать того, к чему поведет это движение. Вейротер в этот вечер был два раза для личного осмотра в цепи неприятеля и два раза у государей, русского и австрийского, для доклада и объяснений, и в своей канцелярии, где он диктовал немецкую диспозицию. Он, измученный, приехал теперь к Кутузову.
Он, видимо, так был занят, что забывал даже быть почтительным с главнокомандующим: он перебивал его, говорил быстро, неясно, не глядя в лицо собеседника, не отвечая на деланные ему вопросы, был испачкан грязью и имел вид жалкий, измученный, растерянный и вместе с тем самонадеянный и гордый.
Кутузов занимал небольшой дворянский замок около Остралиц. В большой гостиной, сделавшейся кабинетом главнокомандующего, собрались: сам Кутузов, Вейротер и члены военного совета. Они пили чай. Ожидали только князя Багратиона, чтобы приступить к военному совету. В 8 м часу приехал ординарец Багратиона с известием, что князь быть не может. Князь Андрей пришел доложить о том главнокомандующему и, пользуясь прежде данным ему Кутузовым позволением присутствовать при совете, остался в комнате.
– Так как князь Багратион не будет, то мы можем начинать, – сказал Вейротер, поспешно вставая с своего места и приближаясь к столу, на котором была разложена огромная карта окрестностей Брюнна.
Кутузов в расстегнутом мундире, из которого, как бы освободившись, выплыла на воротник его жирная шея, сидел в вольтеровском кресле, положив симметрично пухлые старческие руки на подлокотники, и почти спал. На звук голоса Вейротера он с усилием открыл единственный глаз.
– Да, да, пожалуйста, а то поздно, – проговорил он и, кивнув головой, опустил ее и опять закрыл глаза.
Ежели первое время члены совета думали, что Кутузов притворялся спящим, то звуки, которые он издавал носом во время последующего чтения, доказывали, что в эту минуту для главнокомандующего дело шло о гораздо важнейшем, чем о желании выказать свое презрение к диспозиции или к чему бы то ни было: дело шло для него о неудержимом удовлетворении человеческой потребности – .сна. Он действительно спал. Вейротер с движением человека, слишком занятого для того, чтобы терять хоть одну минуту времени, взглянул на Кутузова и, убедившись, что он спит, взял бумагу и громким однообразным тоном начал читать диспозицию будущего сражения под заглавием, которое он тоже прочел: