Reverse Engineeringjavadecompilerapkbytecodeeditordexsmaligroovyasm

Bytecode Viewer

Bytecode Viewer is an advanced lightweight Java bytecode viewer and reverse engineering suite for Java 8+ JAR files and Android APKs. It provides a comprehensive GUI toolkit including decompilers, editors, debuggers, and a plugin system for custom analysis.

Description

Bytecode Viewer (BCV) is a powerful suite for reverse engineering Java bytecode and Android applications. It offers multiple GUI tools such as Java decompilers (Procyon, Krakatau, CFR, FernFlower), bytecode and Smali editors, APK and Dex editors/decompilers, DEX2Jar, Jar2DEX, Jar-Jar, hex viewer, code searcher, and debugger. This all-in-one tool enables security researchers and developers to analyze, edit, and understand Java classfiles and APK structures efficiently.

The tool includes a flexible plugin system that allows interaction with loaded classfiles using ASM's ClassNode ArrayList. Users can leverage pre-written plugins or develop custom ones, such as string deobfuscators or malicious code searchers, with support for Groovy scripting. This extensibility makes it suitable for advanced analysis tasks like malware detection or code hardening assessment.

Maintained by Konloch, Bytecode Viewer is presented by the Bytecode Club and is available as a Kali Linux package with a fat jar distribution (version 2.13.2).

How It Works

Bytecode Viewer loads Java classfiles or APK/Dex files and processes them using ASM for bytecode manipulation, providing ClassNode representations to plugins and editors. It integrates multiple decompilers and tools like DEX2Jar for format conversions, Smali/Baksmali for Dalvik disassembly, and supports Groovy scripts for custom processing of all loaded classes in batch.

Installation

bash
sudo apt install bytecode-viewer

Flags

-hDisplay help information and version details

Examples

Shows the help menu, version (2.13.2), creator info, and update details
bytecode-viewer -h
Loads and opens a Java JAR file in the GUI for viewing, decompiling, and editing bytecode
bytecode-viewer example.jar
Loads and opens an Android APK for GUI editing, decompiling, and analysis with integrated tools
bytecode-viewer example.apk
Opens a Dex file in the GUI Dex editor and decompiler
bytecode-viewer example.dex
Loads a single Java classfile for bytecode viewing, editing, and decompilation
bytecode-viewer example.class
Activates a custom Groovy plugin to process all loaded classes from the JAR using ASM ClassNodes
bytecode-viewer --plugin MyPlugin.groovy example.jar
Updated 2026-04-16kali.org ↗