Bytecode Viewer
Published 10/18/2014 Updated 4/17/2025
Bytecode Viewer - a lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More.
What Does It Do?
- Desktop application for analyzing and decompiling Java bytecode, helping developers inspect and debug compiled code.
Links
Requirements
New Features
- Draggable tabs
- Patched CVE-2022-21675 (Make sure to upgrade to v2.11.X)
- Dark mode by default with multiple themes
- Translated into over 30 languages including: Arabic, German, Japanese, Mandarin, Russian, Spanish
- Plugin Writer - create and edit external plugins from within BCV
- Fixed Java & Bytecode editing/compiling
- Tabbed plugin console
- Right-click menus on the resource and search panels
- Javap disassembler
- XAPK support
- Latest dependencies (incl. decompilers like CFR, JD-GUI etc.)
- Added support to Java files compiled using JDK > 13
- Migrated to Maven
Key Features
- Simply drag and drop to decompile and search Java Jars & Android APKs
- File format support for: Class, Jar, XAPK, APK, DEX, WAR, JSP, Image Resources, Text Resources & More
- 6 Built-in Java decompilers: Krakatau, CFR, Procyon, FernFlower, JADX, JD-GUI
- 3 Built-in Bytecode disassemblers, including 2 assemblers: Krakatau and Smali/BakSmali
- APK/DEX Support from Dex2Jar and Enjarify
- Built-in Java Compiler
- Advanced static-search functionality
- Customizable UI
- Plugins + Script Engine Design
- Malicious code scanning API
- Translated Into over 30 Languages Including: Arabic, German, Japanese, Mandarin, Russian, Spanish)
- Export functionality as Runnable Jar, Zip, APK, Decompile All As Zip, Etc.
- And more! Give it a try for yourself!
Latest Updates
This release is considered an in-development version:
- The CLI is currently in the middle of a rewrite, so it’s not functional at this time (use v2.12).
- There…
Read MoreThis release is considered an in-development version:
- The CLI is currently in the middle of a rewrite, so it’s not functional at this time (use v2.12).
- There…
Read MoreToday marks the 10 years anniversary of Bytecode Viewer. One decade. I started BCV early in my reverse engineering career, I had several years of Java programming experience, but…
Read MoreJava provides a very nice way to create temporary files and folders, normally I would use this. But for BCV I wanted something that would handle cleanup along with…
Read MoreNotable Changes
Read MoreNotable Changes
- Java 18/19 support - @ThexXTURBOXx
- Security Manager has been adjusted to work on Java 18+ - @ThexXTURBOXx
- ASM updated for Java 19 support…
Read MoreNotable Changes
Read MoreNotable Changes
Read MoreNotable Changes
- Dex2Jar has been fixed, this should resolve opening APKs that would previously fail - @ThexXTURBOXx
- DarkLaf compatibility has been resolved - @weisJ
- Tabs…
Read MoreNotable Changes
- More translation support - @Konloch / @ThexXTURBOXx
- Limited GraalJS support (You will need to supply the Graal.JS dependencies - v2.11.0 will have full GraalJS…
Read MoreNotable Changes
Read MoreNotable Changes
- Translated Into 25 Languages Including: Arabic, German, Japanese, Mandarin, Russian, Spanish - Thank you to everyone who helped provide translations! (Expect some translation issues, if…
Read MoreNotable Changes
- Dark mode (Opt-in) & theme selection thanks to @ThexXTURBOXx
- XAPK file support - @Konloch
- Translation process has started - @Konloch
- Javascript plugin…
Read More📝 This version has a pretty nasty bug, use v2.10.11 instead
This is the start of the BCV rewrite.
Notable Changes
Read MoreExpect issues with this release, just let us know what breaks
Notable Changes
Read MoreNotable Changes
Read MoreNotable Changes
- The ASM Classwriter will now automatically update all pre-Java 1 classes to have the proper standard class format. It will also update the classes minor…
Read MoreNotable Changes
- Automatic RT.jar generation for JDK 9+ (thanks to @Storyyeller))
- Smali Disassembly & Assembly is now working again (Still has a bug or two, please…
Read MoreNotable Changes
- Fixed a bug with opening the Bytecode Viewer jar with Bytecode Viewer itself - @Konloch
- Added an icon to the JSP file - @Konloch…
Read MoreNotable Changes
Note
If you find…
Read MoreNotable Changes
- Fixed APK & dex loading - @Konloch
- Fixed Java 10+ classfiles - @Konloch
- Better visual feedback thanks to the new busy icon system…
Read MoreNotable Changes
- This should fix all the Bytecode Viewer related issues brought up at this awesome list - @Konloch
- This also includes the latest CFR (0.143)….
Read MoreNotable Changes
- Decompiling APKs should work again, the
decode APK resource option has been disabled for now. - CFR, Procyon, & Krakatau now have the latest versions,…
Read MoreNotable Changes
- Added auto-finding of RT.jar
- Fixed decompiling java 10+ classes & jars (updated to ASM 7.1)
- Fixed a caching issue with the Krakatau decompiler/disassemble….
Read MoreNotable Changes
- Updated APKTool to 2.3, this should fix
the decode resource issue so that’s also been re-enabled again (huge thanks to @etmatrix)) - General bug fixes…
Read MoreNotable Changes
- Fixed dex2jar for Android 8+ APKs, huge thanks to @Lanchon.
Note
If you encounter any issues, try v2.9.12
If you find any…
Read MoreNotable Changes
- This version should work with JRE 8, 9 and 10, it’s a ‘FatJar’ version that doesn’t downstream any libraries from GitHub, this means you’ll need…
Read MoreNotable Changes
- Emergency patch released, this should fix the startup issues that have been happening over the past few days.
- Java 9.x is not supported yet,…
Read More
(Click to enlarge)
Change Log
- 07/19/2015 - Fixed enjarify.
- 07/20/2015 - @Bibl sped up the boot loading time.
- 07/20/2015 - Decode APK…
Read MoreChange Log
- 07/02/2015 - Added adjustable font size.
- 07/05/2015 - Started working on the new Boot Screen.
- 07/06/2015 - Moved the font size to be…
Read MoreChange Log
- 05/05/2015 - Fixed a typo in the about window
- 05/28/2015 - Started importing JD-GUI Decompiler.
- 05/28/2015 - Compile on refresh and compile on…
Read MoreChange Log
- 05/01/2015 - Added ‘pingback’ for statistics (to track how many people globally use BCV)
Note
The view count is now live on https://bytecodeviewer.com…
Read More
(Click to enlarge)
Change Log
- 04/19/2015 - Added -O to be passed for Krakatau Decompiler/Disassembler/Assembler. (Thanks @Storyyeller)).
- 04/19/2015 - Added -skip to…
Read MoreChange Log
- 02/28/2015 - Added drag and drop for any file.
- 02/28/2015 - Added ctrl + w to close the current opened tab.
- 02/28/2015 -…
Read MoreChange Log
- 02/24/2015 - Actually fixed the compiler, LOL.
Links
Read MoreChange Log
- 02/24/2015 - Fixed the third pane window not showing the search buttons.
- 02/24/2015 - Fixed some issues with the compiler functionality.
Links…
Read MoreChange Log
- 02/11/2015 - Added ZStringArray String Decrypter. (Thanks @Righteous))
- 02/20/2015 - Moved the decompilers/disassemblers around.
- 02/20/2015 - Fixed a resource leak with Krakatau Decompiler/Disassembler/Assembler….
Read MoreChange Log
- 02/04/2015 - Fixed UI bug with Krakatau/Krakatau Editable view panes.
- 02/05/2015 - Added CTRL + F.
Links
Read MoreChange Log
- 02/01/2015 - Updated CFR and Proycon to the latest versions.
- 02/01/2015 - Started working on implementing Krakatau.
- 02/01/2015 - Beautified the security manager…
Read MoreChange Log
- 01/27/2015 - Fixed hide file.
Links
Read MoreChange Log
- 01/11/2015 - Improved the Refresh Class function to be used as the default compile function.
- 01/11/2015 - Implemented better error handling for decompiling class…
Read MoreChange Log
- 01/06/2015 - Now saves if maximized or not.
- 01/07/2015 - For all save as functions, it will now append the correct extension if not…
Read More
(Click to enlarge)
(Click to enlarge)
(Click to enlarge)
(Click to enlarge)
Change Log
*…
Read MoreChange Log
- 01/06/2015 - Silenced the error connecting to update server for offline mode.
- 01/06/2015 - Fixed a search function with Android APKs.
Links…
Read MoreChange Log
- 01/06/2015 - Completely fixed the search function with Android APKs.
Links
Read More
(Click to enlarge)
Change Log
- 12/19/2014 - @Afffsdd made the Bytecode Viewer directory hidden.
- 12/19/2014 - Added save Java file as,…
Read More
(Click to enlarge)
Change Log
- 12/16/2014 - Started updating the class viewer.
- 12/18/2014 - Finished a basic concept of the new…
Read MoreChange Log
- 12/13/2014 - Fixed an issue with the Bytecode Decompiler. - Thanks @bibl
Links
Read MoreChange Log
- 12/09/2014 - Added a text search function to the plugin console.
- 12/09/2014 - When you press enter in the text search bar, it will…
Read MoreChange Log
- 11/9/2014 - Updated CFR to cfr_0_91.
Links
Read MoreChange Log
- 11/5/2014 - Started working on the EZ-Inject plugin.
- 11/6/2014 - Fixed the ClassNodeDecompiler creating unnecessary objects. (thanks bibl).
- 11/6/2014 - Finished an alpha…
Read MoreChange Log
- 11/7/2014 - Fixed the search function.
- 11/7/2014 - Removed an unused package containing some unused classes.
Links
Read MoreChange Log
- 11/4/2014 - Officially been 1 month of development.
- 11/4/2014 - Replaced ""+ with String.valueOf (cheers bibl).
- 11/4/2014 - Changed how the temp directory…
Read MoreChange Log
- 11/1/2014 - Updated and improved the search function, it now prints out more useful information.
- 11/1/2014 - Fixed a UI issue with the Replace…
Read MoreChange Log
- 11/1/2014 - Fixed FernFlower save Java files on Unix.
- 11/1/2014 - FernFlower now uses the settings for save Java files.
- 11/1/2014 - Added…
Read MoreChange Log
- 10/29/2014 - Replaced JSyntaxPane with RSyntaxArea, this sadly removes the search feature inside of source/bytecode files, I’ll implement a search function soon.
- 10/29/2014 -…
Read MoreChange Log
- 10/22/2014 - Imported @Bibl’s Bytecode Decompiler from CFIDE.
- 10/22/2014 - Did some changes to the Bytecode Decompiler.
- 10/23/2014 - Added CFR settings.
*…
Read MoreNotable Changes
- Added Procyon Decompiler
- Added CFR Decompiler
Links
Read MoreNotable Changes
- Beta 1.1 fixes an issue with unix file systems
Links
Read MoreInitial release, thank you for testing the proof of concept!
Links
Read More