У каждого реверс-инженера, вирусного аналитика и просто исследователя со временем появляется устоявшийся набор утилит, которыми он постоянно пользуется для анализа, распаковки или кряка. В этом обзоре я поделюсь своей версией. Это будет полезно всем, кто еще не обзавелся своим набором и только приступает к изучению этой темы. Впрочем, и опытному реверсеру должно быть любопытно, что используют коллеги по цеху.

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

 

Отладчики

Отладка приложения — это неотъемлемая часть процесса исследования, инструмент, который всегда под рукой у реверсера. В современном мире отладчик должен поддерживать обе интеловские архитектуры — x64 и x86, из этого мы и будем исходить.

Также у нас должна быть возможность отлаживать код, который работает в режиме ядра. Такая нужда периодически возникает, особенно если ты намерен искать zeroday-уязвимости в ядре ОС или реверсить драйверы вирусов. Основных претендентов два: x64dbg и WinDbg. Первый отладчик работает в режиме user mode, второй может отлаживать код в режиме kernel mode.

x64dbg

x64dbg.com

Этот современный отладчик с весьма приятным интерфейсом — достойный преемник OllyDbg. Поддерживает обе архитектуры — x64 и x86, обладает массой полезнейших плагинов.

x64dbg
x64dbg
Встроенный декомпилятор
Встроенный декомпилятор

Да, безусловно, он не лишен недостатков — в нем до сих пор есть несколько неприятных багов. Однако он активно поддерживается и развивается. Разумеется, из-за того что отладчик работает в пользовательском режиме, он остается уязвимым для многих техник обнаружения отладки. Но этот минус отчасти компенсируется разнообразием плагинов для сокрытия отладчика.

У x64dbg есть встроенный декомпилятор, поддерживается отображение кода в виде графа, можно делать точки останова на чтение, запись, выполнение и доступ, имеется встроенная утилита реконструкции импортов (как x64, так и x86). В общем, что говорить — этот отладчик использовался в узких кругах для того, чтобы победить небезызвестную игровую защиту Denuvo, и успешно справляется с этой задачей!

 

Почему не OllyDbg

В подборку не попал отладчик OllyDbg — по той причине, что он уже серьезно устарел. Он не поддерживает ни современные ОС, ни архитектуру x64. На официальном сайте приложения был анонс 64-битной версии и даже сообщалось о прогрессе в ее разработке, но сам сайт обновлялся в последний раз в 2014 году. Безусловно, с OllyDbg связана целая эпоха, но, по всей видимости, она прошла. Да и отладчиков kernel mode тоже поубавилось — разработчики забросили Syser Kernel Debugger, а он в свое время был преемником SoftICE.

WinDbg

Официальная страница

Если нужно отлаживать ядро или драйвер, то WinDbg нет равных. Этот отладчик поддерживает сама Microsoft, и он входит в состав Windows Driver Kit (WDK). На данный момент это самое актуальное и мощное средство отладки кода ядра. Здесь нет такого приятного интерфейса, как в x64dbg, но и выбора у нас немного — другие отладчики не работают в kernel mode.

WinDbg
WinDbg

WinDbg поддерживает удаленную отладку и умеет скачивать отладочные символы напрямую с серверов Microsoft. Чтобы быстрее настроить его для отладки ядра ОС внутри виртуальных машин, существует надстройка VirtualKD. Безусловно, начинать путь реверсера с WinDbg строго противопоказано, но, когда наберешься опыта и начнешь пробовать разные интересные вещи, он становится необходимостью.

Именно в WinDbg можно запросто посмотреть, как выглядят те или иные системные структуры, и легко дизассемблировать функции NTAPI. Конечно, им можно отлаживать и «обычные» приложения, но лично я предпочитаю распаковывать столь могучий инструмент только при крайней необходимости! 🙂

 

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

Сложно представить себе реверс без инструментов статического анализа кода. На сегодняшний день дела с дизассемблерами обстоят немногим лучше, чем с отладчиками, но все-таки можно выделить фаворитов в этой области. Признанный стандарт антивирусных лабораторий — это дизассемблер IDA Pro. Второе место по востребованности занимает фреймворк для реверс-инжиниринга Radare2 (хотя многие считают, что Radare2 не уступает IDA).

IDA Disassembler

hex-rays.com/products/ida

Существует две версии IDA — платная (Pro) и бесплатная (Starter). Бесплатная версия урезана по количеству поддерживаемых архитектур — она понимает только x86, кроме того, она не поддерживает плагины. Платная версия лишена подобных ограничений: она поддерживает внушительное количество архитектур процессоров и позволяет подключать расширения.

IDA
IDA

В IDA есть встроенный отладчик, весьма простенький по набору функций, но к его самобытному интерфейсу придется приноровиться. Также IDA может быть укомплектован дополнением Hex-Rays — декомпилятором исходного кода приложения в код на C. Это полезнейшее дополнение, которое значительно ускоряет анализ программы.

В целом IDA — мощнейший и прекрасно отполированный инструмент, который развивался много лет. Жаль только, что профессиональная версия стоит в районе 500–1000 долларов в зависимости от вида лицензии и кому попало не продается. Кто попало в результате выкручивается как может. 🙂

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


9 комментариев

  1. Аватар

    Alf_X

    04.12.2018 at 16:02

    Спасибо за Radare2. Подскажите, пожалуйста, литературу по данной теме.

  2. Аватар

    enc

    13.12.2018 at 11:02

    спасибо, как раз то что искал!

  3. Аватар

    klug

    14.12.2018 at 09:19

    Статья интересаня и спасибо за Radare2. Я бы добавил в заголовок «..под Windows» ибо ожидал найти тут что-то для Linux платформы.

  4. Аватар

    Jeffrey Davis

    21.12.2018 at 09:12

  5. Аватар

    Ака

    28.12.2018 at 20:48

    Как скачать вирус что он в телеграсе задел чтоб бот отправлял фото и место

  6. Аватар

    enc

    19.04.2019 at 01:13

    Кому интересно узнать больше о radare вот презентация от создателя: https://media.ccc.de/v/33c3-8095-radare_demystified#t=453

Оставить мнение

Check Also

Защищаем почтовый сервер без антивируса. Настройка DKIM-, SPF- и DMARC-записей

Электронная почта — один из самых популярных каналов распространения спама, малвари и фиши…