Categories: padМеLinux

hopper/

Не то, чтобы мне часто приходилось что-то там дизассемблировать. Но время от времени возникает желание посмотреть, в какой ассемблерный код превратился твой код на C. Для решения этой задачи зачастую хватает objdump, но только если ты заранее знаешь, где и что именно ищешь. Для более сложных случаев возникает потребность в чем-то вроде IDA Pro . Вот только цены за IDA Pro начинаются от 589$. К счастью, есть не менее функциональная альтернатива за 99$ в лице дизассемблера Hopper .

Примечание: Hopper работает под Linux ( есть даже AUR ) и MacOS. Версии для Windows, насколько я понимаю, не предусмотрено.

Так в Hopper выглядит дизассемблерный код:

С помощью клавиши N можно переименовывать процедуры и метки. Нажатием на ; и / можно вставлять в код комментарии. Кроме того, нажатие D говорит интерпретировать участок, как бинарные данные, а C говорит интерпретировать данные, как код. Есть множество других полезных клавиш, но вы без труда узнаете о них самостоятельно. Они все подписаны в меню.

Также код можно представлять в виде control flow graph:

… или псевдокода:

Еще Hopper умеет модифицировать исполняемые файлы во встроенном hex-редакторе, исполнять скрипты на Python ( здесь есть примеры), и имеет встроенный GUI-отладчик. В общем, очень приятная штука. Подумал, может кто-то про нее не знает.

Дополнение: Вас также могут заинтересовать статьи Дизассемблируем все подряд с помощью Radare2 и Cutter и Реверс-инжиниринг роутера на примере GL.iNet GL-AR750 .

admin

Share
Published by
admin
Tags: padМеLinux

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

3 дня ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

3 дня ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

3 дня ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

3 дня ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

3 дня ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

3 дня ago