Дизассемблер: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
м Bot: HTTP→HTTPS (v465) |
Спасено источников — 4, отмечено мёртвыми — 0. #IABot (v1.5.4) |
||
Строка 68: | Строка 68: | ||
== Ссылки == |
== Ссылки == |
||
* {{cite web |
* {{cite web |
||
| |
|url = http://www.wasm.ru/toollist.php?list=13 |
||
| |
|title = Инструменты > Дизассемблеры |
||
| |
|publisher = wasm.ru |
||
| |
|accessdate = 2009-09-01 |
||
| |
|lang = ru |
||
| |
|description = Популярные дизассемблеры |
||
| |
|archiveurl = https://www.webcitation.org/617huqr1j?url=http://www.wasm.ru/toollist.php?list=13 |
||
| |
|archivedate = 2011-08-22 |
||
}} |
}} |
||
* {{cite web |
* {{cite web |
||
| |
|url = http://www.thefreecountry.com/programming/disassemblers.shtml |
||
| |
|title = Free Disassemblers, Decompilers, Hex Editors & Hex Viewers |
||
| |
|publisher = thefreecountry.com |
||
| |
|accessdate = 2009-09-01 |
||
| |
|lang = en |
||
| |
|archiveurl = https://www.webcitation.org/617hvcuUJ?url=http://www.thefreecountry.com/programming/disassemblers.shtml |
||
| |
|archivedate = 2011-08-22 |
||
}} |
}} |
||
* {{cite web |
* {{cite web |
||
| |
|url = http://www.openrce.org/articles/ |
||
| |
|title = OpenRCE (Open Reverse Code Engineering) |
||
| |
|accessdate = 2009-09-01 |
||
| |
|lang = en |
||
| |
|description = Various Disassembler Resources and Plug-ins |
||
| |
|archiveurl = https://www.webcitation.org/617hw5Kga?url=http://www.openrce.org/articles/ |
||
| |
|archivedate = 2011-08-22 |
||
}} |
}} |
||
* {{cite web |
* {{cite web |
||
| |
|url = http://www.program-transformation.org/Transform/DisAssembly |
||
| |
|title = Program Transformation Wiki / Dis Assembly |
||
| |
|accessdate = 2009-09-01 |
||
| |
|lang = en |
||
| |
|archiveurl = https://www.webcitation.org/617hwkBUM?url=http://www.program-transformation.org/Transform/DisAssembly |
||
| |
|archivedate = 2011-08-22 |
||
}} |
}} |
||
Версия от 22:36, 6 октября 2017
Дизассе́мблер — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.
По режиму работы с пользователем делятся на
- Автоматические
- Интерактивные
Примером автоматических дизассемблеров может служить Sourcer[1]. Такие дизассемблеры генерируют готовый листинг, который можно затем править в текстовом редакторе. Пример интерактивного — IDA. Он позволяет изменять правила дизассемблирования и является весьма удобным инструментом для исследования программ.
Дизассемблеры бывают однопроходные и многопроходные. Основная трудность при работе дизассемблера — отличить данные от машинного кода, поэтому на первых проходах автоматически или интерактивно собирается информация о границах процедур и функций, а на последнем проходе формируется итоговый листинг. Интерактивность позволяет улучшить этот процесс, так как просматривая дамп дизассемблируемой области памяти, программист может сразу выделить строковые константы, дать содержательные имена известным точкам входа, прокомментировать разобранные им фрагменты программы.
Чаще всего дизассемблер используют для анализа программы (или её части), исходный текст которой неизвестен — с целью модификации, копирования или взлома. Реже — для поиска ошибок (багов) в программах и компиляторах, а также для анализа и оптимизации создаваемого компилятором машинного кода.
Обычно однопроходный дизассемблер (как и построчный ассемблер) является составной частью отладчика.
Примеры программ-дизассемблеров
См. также
- Декомпилятор
- Дизассемблер длин
- Ассемблер
- Обратная инженерия
- Взлом программного обеспечения
- Отладчик
- Portable Executable
Литература
- Владислав Пирогов. Ассемблер для Windows. — СПб.: БХВ-Петербург, 2007. — 896 с. — ISBN 978-5-9775-0084-5.
- Владислав Пирогов. Ассемблер и дизассемблирование. — СПб.: БХВ-Петербург, 2006. — 464 с. — ISBN 5-94157-677-3.
- Крис Касперски, Ева Рокко. Искусство дизассемблирования. — СПб.: БХВ-Петербург, 2008. — 896 с. — ISBN 978-5-9775-0082-1.
Примечания
Ссылки
- Инструменты > Дизассемблеры . wasm.ru. — Популярные дизассемблеры. Дата обращения: 1 сентября 2009. Архивировано 22 августа 2011 года.
- Free Disassemblers, Decompilers, Hex Editors & Hex Viewers (англ.). thefreecountry.com. Дата обращения: 1 сентября 2009. Архивировано 22 августа 2011 года.
- OpenRCE (Open Reverse Code Engineering) (англ.). — Various Disassembler Resources and Plug-ins. Дата обращения: 1 сентября 2009. Архивировано 22 августа 2011 года.
- Program Transformation Wiki / Dis Assembly (англ.). Дата обращения: 1 сентября 2009. Архивировано 22 августа 2011 года.