Krakatau — это open source-набор инструментов для анализа, дизассемблирования и декомпиляции Java-байткода. Утилита позволяет разбирать .class и .jar-файлы, исследовать структуру байткода и выполнять глубокий реверс Java-приложений.
Инструмент часто используется в reverse engineering, malware-анализе и security-исследованиях Java-ПО, где необходимо понять логику работы программы на уровне JVM-инструкций.
📐 Основные возможности Krakatau
📉 Дизассемблирование Java-байткода — преобразует .class-файлы в читаемый assembly-подобный формат JVM.
📉 Декомпиляция в Java-код — позволяет восстановить исходную логику программы из байткода.
📉 Ассемблер для JVM-байткода — можно модифицировать и пересобирать .class-файлы.
📉 Работа с JAR-архивами — поддерживает анализ и извлечение байткода из .jar.
📉 Подходит для malware-анализа — удобен для исследования обфусцированных Java-приложений.
⬇️ Установка
Krakatau v2 написан на Rust, поэтому сначала нужно установить Rust toolchain.
git clone https://github.com/Storyyeller/Krakatau.git
cd Krakatau
cargo build --release
После сборки бинарник появится в:
target/release/krak2
⏺️Его можно добавить в PATH или запускать напрямую.
💻 Базовый сценарий использования
1️⃣ Дизассемблирование .class-файла:
krak2 dis --out out_dir Example.class
2️⃣ Дизассемблирование .jar-архива:
krak2 dis --out disassembled.zip app.jar
3️⃣ Сборка .class из .j-файла:
krak2 asm --out Foo.class Foo.j
4️⃣ Сборка .jar из набора .j файлов:
krak2 asm --out modified.jar source_dir/
#reverse #java #malware #security #tool
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
