需从 Releases 页下载 jar 包,README 未提供其他安装方式;大文件易触发 OutOfMemoryError,需用 java -Xmx3G -jar BCV.jar 启动;APK 出现 FileNotFoundException 时需以管理员身份运行
bytecode-viewer
KonlochGPL-3.0活跃维护一款 Java 8+ 的 Jar 与 Android APK 逆向分析套件,集成反编译、字节码编辑和调试功能,方便查看和修改 Java/Android 程序内部逻辑。
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
java -jar Bytecode-Viewer-2.10.x.jarREADME 未说明硬件要求;需 Java 8+ 运行环境,内存不足时可用 -Xmx 参数加大堆内存
轻量级 Java/Android 逆向套件,拖入 Jar 或 APK 即可反编译、反汇编和搜索
一款 Java 8+ 的 Jar 与 Android APK 逆向分析套件,集成反编译、字节码编辑和调试功能,方便查看和修改 Java/Android 程序内部逻辑。
核心能力
- 拖放 Jar、APK、DEX 等文件后自动开始反编译
- 内置 Krakatau、CFR、Procyon、FernFlower、JADX、JD-GUI 六款反编译器
- 内置 Krakatau、Smali/BakSmali 反汇编器与汇编器
- 支持 Java 与 JavaScript 插件脚本,可遍历全部 ClassNode
- 支持导出可运行 Jar、Zip、APK 及批量反编译打包
容易踩的坑
- v2.13.22.13.2 - 2026 Release (In-Dev)最新正式版2026-01-01 · 2026-01-01 16:53 UTC
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).
Notable Changes
- Use the native menubar on MacOS - @oraveczandrew
- Adequate Russian translation, finally - @lustman
- Binary viewer library update - @hajdam
- Obfuscator removed. - @lustman
- These usages break text direction, switching to right-to-left (RTL) instead of the expected left-to-right (LTR). - @CyberGhost13337
- Build: add Java 25 LTS - @SoKnight
- Build: update asm to 9.9 - @SoKnight
- Add missing translation key in English and German - @ThexXTURBOXx
- Update Maven plugins - @ThexXTURBOXx
January 6th, 2026 Fixes:
- 2.13.2 has been re-released, on January 6th, 2026. If you have downloaded it previously, and need to open APKs - redownload it again for the following fixes:
- Fix Dex2Jar Classfiles Incorrectly Showing On Windows - @Konloch
- Fix APK Decoded Resources Folder On Windows - @Konloch
- Update APK Tool API - @Konloch
Note
If you encounter any issues, try an older version: v2.12, v2.11.2, v2.13.1
If you find any bugs just open up a GitHub issue or email me at [email protected]
- v2.13.12.13.1 - 2025 Release (In-Dev)2025-04-17 · 2025-04-17 18:04 UTC
查看更新说明
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 are a lot of new features, and a lot of the codebase has been reworked. These features have been thoroughly tested, but there could be new bugs introduced with them.
Notable Changes
- use the same class name format for tabs - @oraveczandrew
- fix ClassFileContainer.getName - @oraveczandrew
- skip iterating over method nodes, if search fields are empty - @oraveczandrew
- skip jar compression & decompression when decoding resources, run apktool on multiple thread - @oraveczandrew
- optimize out zipping/decompression when using Dex2Jar - @oraveczandrew
- fix ArrayIndexOutOfBoundsException in FileHeaderUtils - @oraveczandrew
- speed up the resource file tree generation - @oraveczandrew
- Fix for issue #529 - @Bl3nd
- Add Option to disable Resource Reload Confimation - @heisluft
- Removed the check for packages that start with "java", "javax", etc. - @Bl3nd
Note
If you encounter any issues, try an older version: v2.12, v2.11.2
If you find any bugs just open up a GitHub issue or email me at [email protected]
- v2.13.02.13.0 - 2024 Release (In-Dev)2024-12-31 · 2024-12-31 16:55 UTC
查看更新说明
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 are a lot of new features, and a lot of the codebase has been reworked. These features have been thoroughly tested, but there could be new bugs introduced with them.
Notable Changes
- Jump to Declaration - @Bl3nd
- Bytecode token highlighter - @Bl3nd
- Middle-click to close tabs - @Bl3nd
- Fix for issue #499 - @Bl3nd
- Middle-click to close tabs - @Bl3nd
- Implement Checkstyle - @Konloch / @ThexXTURBOXx
- Better Plugin Writing - @Konloch
- Partial Fix For Slow jFileChooser - @Konloch
- General Code Cleanup - @Konloch
- Dependency Updates - @ThexXTURBOXx / @Bl3nd
- And more! Thank you to everyone who has contributed to this patch. @ThexXTURBOXx / @Konloch / @Bl3nd / @cloudchamb3r
Note
If you encounter any issues, try an older version: v2.12, v2.11.2
If you find any bugs just open up a GitHub issue or email me at [email protected]
- v2.122.12.0 - 2023 Release2023-12-18 · 2023-12-18 08:07 UTC
查看更新说明
Notable Changes
- Detect language from computer wide language settings - @Konloch
- New Window Theme Default: Dark Theme - @Konloch
- Add Auto Open Search Option - @Konloch
- Add Looping Search For Non-Exact - @Konloch
- Update dependencies again - @ThexXTURBOXx
- Update dependencies - @ThexXTURBOXx
- Add Popup Menu for close Tabs - @sinyear
- Update dependencies - @ThexXTURBOXx
- Add dex2jar exception handler - @ThexXTURBOXx
- Removed last version of dnd. Added dnd support from weisJ theme. Also… - @Bl3nd
- Fix many DnD errors related to https://github.com/Konloch/bytecode-viewer/pull/462 @ThexXTURBOXx
- Swap to SafeYAML - @Konloch
- Update HTTPRequest Library - @Konloch
- Fixed exception when clicking a class that's already open. - @Bl3nd
- Enabled tabs to be rearranged. Did not add functionality for a tab to… - @Bl3nd
- Update dependencies as of this commit date - @nick-botticelli
- Fix FernFlower "Rename ambiguous classes and class elements". - @Bl3nd
- Fix dex2jar issues - @ThexXTURBOXx
- Optimized resource tree building - @majonez
- Update dependencies @ThexXTURBOXx
- Malicious Code Scanner Fix - @Konloch
- Add ASMifier support - @nick-botticelli
- Change reference to -decompiler-list to -list - @nick-botticelli
- Replace icons with more modern svg variants - @weisJ
- Update dependencies - @ThexXTURBOXx
- Update darklaf to version 3.0.0 - @weisJ
- [Fixed a lot of issues related to the GUI](https://github.com/Konloch/bytecode-viewer/commit/eded177040b531492eeca9de1157b22909a
- v2.11.22.11.2 - 2022 Maintenance2022-04-11 · 2022-04-11 21:18 UTC
查看更新说明
Notable Changes
- Java 18/19 support - @ThexXTURBOXx
- Security Manager has been adjusted to work on Java 18+ - @ThexXTURBOXx
- ASM update for Java 19 support - @ThexXTURBOXx
- Added Croatian, Czech, Bulgarian, Danish and Serbian translations - @Konloch
- Fixed running precompiled plugins - @Lucaskyy
- CFR interface improvements - @GraxCode / @ThexXTURBOXx
- Procyon update - @ThexXTURBOXx
- FernFlower update - @ThexXTURBOXx
- Jadx update - @ThexXTURBOXx
- Dependency updates and fixes- @ThexXTURBOXx
- Bytecode Disassembler improvements & additions - @GraxCode
- General bug fixes and improvements - @Konloch / @ThexXTURBOXx / @GraxCode
- And more! Thank you to everyone who has contributed to this patch. @ThexXTURBOXx / @Konloch / @GraxCode / @Lucaskyy
Issues Resolved
#396, #397, #402, #405, #410, #412
Note
If you encounter any issues, try v2.11.1 or v2.10.16
If you find any bugs just open up a GitHub issue or email me at [email protected]
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Bytecode Viewer
Bytecode Viewer - a lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More.
New Features
- Jump to Declaration
- 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
Links
- BCV Discord
- Website
- Source Code
- Bin/Archive
- Java Docs
- License (Copyleft)
- Credits
- Contributing
- Report Bugs
- Discussion Forum
Key Features
- Simply drag and drop to decompile and search Java Jars & Android APKs
- File format support for: Class, Jar, APK, DEX, XAPK, APKM, 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!
Command Line Input
-help Displays the help menu
-clean Deletes the BCV directory
-english Forces English language translations
-list Displays the available decompilers
-decompiler <decompiler> Selects the decompiler, procyon by default
-i <input file> Selects the input file (Jar, Class, APK, ZIP, DEX all work automatically)
-o <output file> Selects the output file (Java or Java-Bytecode)
-t <target classname> Must either be the fully qualified classname or "all" to decompile all as zip
-nowait Doesn't wait for the user to read the CLI messages
What is Bytecode Viewer?
Bytecode Viewer (BCV) is an Advanced Lightweight Java/Android Reverse Engineering Suite. Powered by several open source tools BCV is designed to aid in the reversing process.
BCV comes with 6 decompilers, 3 disassemblers, 2 assemblers, 2 APK converters, advanced searching, debugging & more.
It's written completely in Java, and it's open sourced. It's currently being maintained and developed by Konloch.
Is there a demo?
Please note this demo is from a very old version
How do I install BCV?
Download the latest version from https://github.com/konloch/bytecode-viewer/releases and run the Bytecode-Viewer-2.10.x.jar.
You may need to execute it via command line java -jar Bytecode-Viewer-2.10.x.jar (replace the X with the current minor version)
How can I use BCV?
- Starting with a Jar, Zip, ClassFile or Android file (APK, DEX, XAPK, APKM, etc) drag it into BCV. It will start the decoding process automatically.
- From here you can select the decompilers you would like to use by selecting the View Pane>View 1, View 2, View 3, etc.
- The view panes are-used to display up to 3 decompilers side by side, you can also toggle edibility here.
- Select the resource you would like to open by navigating using the resource list, BCV will do its best to display it (Decompiling, Disassembling, etc).
- You can use plugins to help you search along with using the search pane in the left-hand bottom corner.
How do the plugins work?
There is also a plugin system that will allow you to interact with the loaded classfiles. You could for example write a String deobfuscator, a malicious code searcher, or anything else you can think of.
You can either use one of the pre-written plugins, or write your own. The plugin system supports java and javascript scripting.
Once a plugin is activated, it will execute the plugin with a ClassNode ArrayList of every single class loaded in BCV, this allows the user to handle it completely using ASM.
Instructions to compile
Just clone this repo and run mvn package. It's that simple!
Working on the source
Open the Maven project (e.g. in IntelliJ, open the pom.xml as a project file).
UI Is Lagging
Change the theme to your systems. Go into View->Visual Settings->Window Theme and select System Theme.
Java Heap Space Issues (java.lang.OutOfMemoryError)
Start BCV with more RAM, e.g. java -Xmx3G -jar BCV.jar
File Permission Issues (java.io.FileNotFoundException)
Right click on the jar file, go to Properties, and select Unblock under Security at the bottom of the General tab.
APK File Permission Issues (java.io.FileNotFoundException)
Run BCV as administrator.
Are you a Java Reverse Engineer? Do you want to learn?
Join The Bytecode Club Today! - https://the.bytecode.club
