
Plasma — это интерактивный дизассемблер для x86/ARM/MIPS. Он может генерировать псевдокод с отступами и цветовой подсветкой синтаксиса.
Старое название проекта — Reverse.
PLASMA — это интерактивный дизассемблер. Он может генерировать более читаемый ассемблерный код (псевдокод) с цветным синтаксисом. Вы можете писать скрипты, используя доступный Python API (пример ниже). Проект всё ещё находится в стадии активной разработки.
wiki : список TODO и документация.
Поддерживает:
Предупреждение: пока не реализованы структуры и определения типов, совместимость базы данных может быть нарушена.
c++filt (доступен в пакете binutils для Linux)--nocolor)Опционально:
python-qt4 используется для карты памяти./install.sh
Или если вы уже установили зависимости предыдущей командой:
./install.sh --update
Проверка тестов:
make
....................................................................................
84/84 тестов успешно пройдено за 2.777975s
тесты анализатора...
...
$ plasma -i tests/server.bin
>> v main
# нажмите Tab, чтобы показать псевдодекомпиляцию
# | чтобы разделить окно
# Смотрите справку по командам для всех горячих клавиш

Управляйте графом потока, инвертируя условные переходы:

Подробнее об API смотрите на wiki.
Некоторые примеры (эти скрипты находятся в plasma/scripts):
$ plasma -i FILE
plasma> py !strings.py # вывести все строки
plasma> py !xrefsto.py FUNCTION # граф вызовов xdot
plasma> py !crypto.py # обнаружить некоторые криптоконстанты
plasma> py !asm.py CODE # ассемблировать с помощью keystone
plasma> py !disasm.py HEX_STRING # дизассемблировать буфер