Четверг, 20 Январь 2022 03:50

10 лучших инструментов обратного проектирования программного обеспечения

Автор 
Оцените материал
(1 Голосовать)

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

Лучшие инструменты обратного проектирования программного обеспечения — какие инструменты обратного проектирования выбрать?

 

1. Ghidra

Ghidra — это платформа для обратного проектирования программного обеспечения (SRE), разработанная Исследовательским управлением АНБ. Она помогает в анализе кода и вредоносных программ, таких как вирусы, и может помочь специалистам по кибербезопасности лучше узнать о потенциальных уязвимостях в их сетях и системах. Она поддерживает разнообразный набор наборов инструкций процесса и исполняемых форматов, которые можно запускать в интерактивном или автоматизированном режиме. Кроме того, приложение можно модифицировать с помощью плагинов или скриптов Python или Java.

 

2. Binary Ninja

Binary Ninja, продукт Vector 35, гордится своей простотой использования, что делает автоматизацию более доступной, чем другие варианты на рынке. Binary Ninja работает на 64-разрядной версии Linux Ubuntu, macOS 10.13 и Windows 10 и поддерживает PE.COFF, ELF, Mach-O, .NES и необработанные двоичные файлы.

 

3. Hopper

Hopper — дизассемблер macOS и Linux. Он способен дизассемблировать, декомпилировать и отлаживать исполняемые файлы в 32- и 64-битных архитектурах. Версия для Mac построена на платформе Cocoa, а версия для Linux — на Qt 5. Hopper поставляется с SDK, который позволяет изменять его функциональность и даже добавлять поддержку собственных файлов и ЦП. Кроме того, большинство функций программного обеспечения можно выполнять с помощью сценариев Python, что позволяет преобразовывать двоичные файлы.

 

4. x64dbg

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

 

5. PEiD

PEiD — это интуитивно понятное приложение, которое использует удобный интерфейс для обнаружения PE-упаковщиков, крипторов и компиляторов, обнаруженных в исполняемых файлах. Его скорость обнаружения выше, чем у других подобных инструментов, поскольку приложение упаковывает более 600 различных сигнатур в PE-файлы.

 

6. Resource Hacker

Resource Hacker — редактор ресурсов для 32-битных и 64-битных приложений Windows. Это и компилятор ресурсов (для файлов *.rc), и декомпилятор, позволяющий просматривать и редактировать ресурсы в исполняемых файлах (*.exe; *.dll; *.scr; и т. д.) и скомпилированных библиотеках ресурсов (*.res, * .mui). Хотя Resource Hacker — это в первую очередь приложение с графическим пользовательским интерфейсом (GUI), оно также предоставляет множество возможностей для компиляции и декомпиляции ресурсов из командной строки.

 

7. IDA Pro

IDA Pro является одним из наиболее широко используемых программных инструментов обратного проектирования. Это интерактивный дизассемблер со встроенным командным языком (IDC) и поддержкой множества исполняемых форматов на различных процессорах и операционных системах. Кроме того, IDA Pro включает большое количество плагинов, расширяющих возможности дизассемблера. Основное преимущество IDA Pro заключается в том, что он позволяет изменять любой аспект отображаемых данных в интерактивном режиме.

 

8. Hiew

Hiew (взгляд хакера) — популярный консольный шестнадцатеричный редактор для Windows. Среди функций, включенных в этот инструмент, есть возможность читать файлы в текстовом, шестнадцатеричном и дизассемблированном режимах. Это очень полезно для редактирования исполняемых файлов, таких как COFF, PE или ELF. Он включает ассемблер для x86, x86-64, а также дизассемблер для x86, x86-64 и ARM.

 

9. API Monitor

API Monitor — это программа, которая отслеживает вызовы функций API, выполняемые приложениями и службами. Кроме того, этот инструмент может отображать как входные, так и выходные данные. API Monitor поставляется с предварительно настроенными определениями для более чем 13 000 функций API и более 1300 методов COM-интерфейса.

 

10. WinHex

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

Авторизуйтесь, чтобы получить возможность оставлять комментарии