Bytecode Viewer is a Java-based reverse engineering suite for decompiling and analyzing Java JAR files and Android APK packages.
The tool addresses the need to inspect and understand compiled Java and Android bytecode by providing a graphical interface that bundles multiple decompilers and disassemblers. It integrates six Java decompilers (Krakatau, CFR, Procyon, FernFlower, JADX, and JD-GUI), three bytecode disassemblers with two assemblers (Krakatau and Smali/BakSmali), and APK converters. Users can drag and drop files to decompile them, search across bytecode, edit and recompile Java code, and export results in various formats including runnable JARs and APKs. The tool supports multiple file formats including class files, JARs, APKs, DEX, XAPK, APKM, WAR, JSP, and image and text resources.
Bytecode Viewer suits developers and security researchers performing reverse engineering, malware analysis, or code auditing on Java and Android applications. The project is appropriate for anyone needing a unified interface to multiple decompilers rather than switching between separate tools. Its lightweight design, customizable UI with dark mode and multiple themes, and support for over thirty languages make it accessible to international teams. The tool includes a plugin system and script engine for extending functionality, a malicious code scanning API, and advanced static search capabilities.
The project maintains active development with regular updates addressing security vulnerabilities and adding features like jump-to-declaration navigation, draggable tabs, and support for Java files compiled with recent JDK versions. The codebase has been migrated to Maven for dependency management. The project provides comprehensive documentation including JavaDocs, maintains a Discord community channel, and accepts contributions through a defined process with a credits file acknowledging contributors.