## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KONLOCH-BYTECODE-VIEWER
# Bytecode Viewer
Bytecode Viewer - 一个轻量级、用户友好的Java/Android字节码查看器、反编译器及更多功能。
#### 新特性
* 跳转到声明
* 可拖拽标签页
* 修补了 CVE-2022-21675 (请确保升级到 v2.11.X)
* 默认暗色模式,支持多种主题
* 翻译成超过30种语言,包括:阿拉伯语、德语、日语、普通话、俄语、西班牙语
* 插件编写器 - 在BCV内创建和编辑外部插件
* 修复了Java和字节码的编辑/编译
* 标签式插件控制台
* 在资源和搜索面板上的右键菜单
* Javap 反汇编器
* XAPK 支持
* 最新依赖项(包括CFR、JD-GUI等反编译器)
* 增加了对使用JDK 13以上版本编译的Java文件的支持
* 迁移到Maven
#### 链接
* BCV Discord
* 网站
* 源代码
* 发行版/归档
* Java文档
* 许可证 (Copyleft)
* 致谢
* 贡献
* 报告Bug
* 讨论论坛
#### 主要特性
* 只需拖放即可反编译和搜索Java Jars及Android APKs
* 支持文件格式:Class、Jar、APK、DEX、XAPK、APKM、WAR、JSP、图像资源、文本资源等
* 6个内置Java反编译器:Krakatau、CFR、Procyon、FernFlower、JADX、JD-GUI
* 3个内置字节码反汇编器,包括2个汇编器:Krakatau和Smali/BakSmali
* 来自Dex2Jar和Enjarify的APK/DEX支持
* 内置Java编译器
* 高级静态搜索功能
* 可自定义的UI
* 插件+脚本引擎设计
* 恶意代码扫描API
* 翻译成超过30种语言,包括:阿拉伯语、德语、日语、普通话、俄语、西班牙语)
* 导出功能:可运行Jar、Zip、APK、全部反编译为Zip等
* 更多!亲自试试吧!
#### 命令行输入
root@kitploit:~
-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
## 什么是Bytecode Viewer?
Bytecode Viewer (BCV) 是一个先进轻量级的Java/Android逆向工程套件。由多个开源工具驱动,BCV旨在辅助逆向过程。
BCV 带有6个反编译器、3个反汇编器、2个汇编器、2个APK转换器、高级搜索、调试等功能。
它完全用Java编写,并且是开源的。目前由Konloch维护和开发。
## 有演示吗?

请注意,此演示来自一个非常旧的版本
## 如何安装BCV?
从 https://github.com/konloch/bytecode-viewer/releases 下载最新版本并运行Bytecode-Viewer-2.10.x.jar。您可能需要通过命令行执行它:`java -jar Bytecode-Viewer-2.10.x.jar`(将X替换为当前次版本号)
## 如何使用BCV?
* 从Jar、Zip、ClassFile或Android文件(APK、DEX、XAPK、APKM等)开始,将其拖入BCV。它将自动开始解码过程。
* 从这儿,您可以通过选择视图窗格>视图1、视图2、视图3等来选择要使用的反编译器。
* 视图窗格用于并排显示最多3个反编译器,您还可以在此切换可编辑性。
* 通过使用资源列表导航选择您要打开的资源,BCV将尽力显示它(反编译、反汇编等)。
* 您可以使用插件帮助搜索,同时使用左下角的搜索窗格。
## 插件如何工作?
还有一个插件系统,允许您与加载的类文件进行交互。例如,您可以编写一个字符串去混淆器、恶意代码搜索器,或任何您能想到的东西。
您可以使用预编写的插件之一,或编写自己的插件。插件系统支持Java和JavaScript脚本。
一旦插件被激活,它将使用BCV中加载的每个类的ClassNode ArrayList执行插件,这允许用户完全使用ASM来处理它。
## 编译说明
只需克隆此仓库并运行`mvn package`。就这么简单!
## 处理源代码
打开Maven项目(例如在IntelliJ中,将`pom.xml`作为项目文件打开)。
## UI 卡顿
将主题更改为您的系统。进入`View->Visual Settings->Window Theme`并选择`System Theme`。
## Java堆空间问题 (java.lang.OutOfMemoryError)
使用更多RAM启动BCV,例如 `java -Xmx3G -jar BCV.jar`
## 文件权限问题 (java.io.FileNotFoundException)
右键单击jar文件,进入属性,然后在常规选项卡底部的安全性下选择解除锁定。
## APK文件权限问题 (java.io.FileNotFoundException)
以管理员身份运行BCV。
#### 您是Java逆向工程师吗?想学习吗?
立即加入The Bytecode Club! - https://the.bytecode.club