программное обеспечение для реверс-инжиниринга становится открытым исходным кодом

Rev.ng: программное обеспечение для реверс-инжиниринга становится открытым исходным кодом

Цели Рев.нг содержатся в его названии: ссылка на обратный инжиниринг ясно. Это платформа, предназначенная для анализа и понимания внутренней работы любого программного обеспечения. Термин обратный инжиниринг относится к процессу декомпиляции, дизассемблирования и анализа программы с целью понять, как она работает, или внести изменения.

Как это работает и что это такое для Rev.ng

Такой инструмент, как Rev.ng, позволяет пользователям декомпилировать е разобрать двоичный код программы, позволяющий просматривать исходный код или очень близкое представление изучаемого приложения.

В другой статье мы увидели разницу между дизассемблерами и декомпиляторами: короче говоря, дизассемблер переводит машинный код, то есть двоичный язык, непосредственно исполняемый процессором, в понятный человеку язык ассемблера.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

И дискомпиляторС другой стороны, это инструмент, который пытается перевести машинный код или байт-код скомпилированной программы в язык программирования высокого уровня, такой как C, C++, Java или другие.

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

Анализ кода с помощью Rev.ng

Такие решения, как Rev.ng, помогают анализировать операция каждого план. Например, чтобы выявить любые уязвимости безопасности, изучите используемые алгоритмы или выявите вредоносное поведение.

Rev.ng можно использовать для изменить программное обеспечение, добавлять функции или исправлять дефекты, не имея доступа к исходному исходному коду. Это полезно для адаптации программного обеспечения к вашим потребностям или для исправления ошибок без необходимости пересоздавать всю программу с нуля.

Каковы преимущества использования инструмента с открытым исходным кодом, такого как Rev.ng?

Иль механизм декомпиляции из Rev.ng, revng-c, теперь стал открытым исходным кодом. Это означает, что компонент доступен для просмотра, использования и улучшения сообществом.

Для использования Rev.ng вам не нужны root-права, а установка сводится к одному каталогу, который можно удалить в любой момент.

Платформа поддерживает широкий спектр архитектур, включая x86, x86-64, ARM, AArch64, MIPS и s390x, что позволяет изучать приложения любого типа.

По сути, Rev.ng предлагает версию платформы с открытым исходным кодом, доступную через командная строка (КЛИ, Интерфейс командной строки). Присоединившись к бета-программе, вы также сможете опробовать пользовательский интерфейс в графическом формате.

При этом в распоряжении разработчиков есть Рев.нг Хаб, инструмент, который выступает в качестве точки входа для использования облачной версии платформы. В этом случае пользователи могут создавать проекты, запускать пользовательский интерфейс Rev.ng прямо в браузере и сотрудничать с другими пользователями без необходимости что-либо устанавливать.

Как попробовать инструмент обратного инжиниринга Rev.ng

Чтобы установить и попробовать Rev.ng на Линукспросто введите следующие команды:

локон -L -s | бить
компакт-диск
источник ./среда

в презентация недавно опубликованаэто объясняет, как декомпилировать программу очень просто. Начнем с написания двух строк C-код (пример.в):

int main(int argc, char *argv()) {
вернуть аргумент * 3;
}

Поэтому мы просим компиляцию с помощью gcc и последующую декомпиляцию с помощью Rev.ng:

пример gcc.c -o пример -O2

оборотный артефакт \
–анализировать\
–прогресс \
декомпилировать в один файл \
пример \
| оборот ptml –color \
| grep -A2 -B1 ‘(^_)main\b’ \
> декомпилированный.c

Объяснение команд, использованных в примере

Первая команда использует компилятор gcc для компиляции исходного кода example.c с оптимизацией уровня 2 (флаг «-O2»). Результатом операции компиляции является исполняемый файл с именем example. В целом, включениеоптимизация уровня 2ожидается значительное улучшение производительности по сравнению со сценарием без индикации.

Далее применение обратный инжиниринг Rev.ng вызывается для анализа исполняемого файла примера, извлечения эквивалентного исходного кода и сохранения его в файле с именем decompiled.c.

Синтаксис, используемый для вызова команды revng, указывает на то, что вы этого хотите. разобрать исполняемый файл понять его структуру и поведение. Опция –progress сообщает Rev.ng отображать информацию о ходе выполнения на этапе анализа и декомпиляции; decompile-to-single-file просит вас декомпилировать исполняемый файл в один исходный файл вместо нескольких отдельных файлов.

Декомпиляция с помощью revng ptml –color преобразует Машинный код исполняемого файла в исходном коде C и форматирует его в HTML с раскраской синтаксиса для лучшей читаемости.

В данном конкретном случае получен следующий результат. Как видите, декомпилятор «реконструировал» исходный код с синтаксисом высокого уровня, близким к исходному коду:

_ABI(SystemV_x86_64)
generic64_t main(generic64_t _argument0) {
вернуть _argument0 * 3 & 0xFFFFFFFF;
}

Таким образом, Rev.ng — это мощный инструмент для экспертов по кибербезопасности, разработчиков программного обеспечения и инженеров, работающих с программным обеспечением, исходный код которого недоступен. Предоставляя возможность анализа и модификации бинарных программ, Reg.ng помогает вам понять, как работают скомпилированные программы, внося при необходимости изменения.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *