关于
Bytecode Viewer (BCV)被设计成对用户和初学者非常友好,因此,几乎所有的东西都可以通过一个界面访问。
都可以通过一个界面、设置、工具等进行访问。
开始时,将你的Jar/APK/Class文件拖到资源列表中。
设置
- 预览副本。{previewCopy}
- Fat Jar。{fatJar}
- Java。{java}
- Javac: {javac}
- BCV Dir: {bcvDir}
- Python 2.7 (或 PyPy): {python}
- Python 3.X (or PyPy): {python3}
- RT.jar。{rt}
- 可选的 Lib。{lib}
- BCV Krakatau: v{krakatauVersion}
- Krakatau Dir: {krakatauDir}
- BCV Enjarify: v{enjarifyVersion}
- Enjarify Dir: {enjarifyDir}
命令行界面(CLI)
- -help 显示帮助菜单
- -list 显示可用的反编译器
- -decompiler [decompiler] 选择反编译器,默认为procyon
- -i [输入文件] 选择输入文件(Jar、Class、APK、ZIP、DEX都能自动工作)
- -o [输出文件] 选择输出文件(Java或Java-Bytecode)
- -t [目标类名] 必须是完全合格的类名,或者是 "全部",以便将所有的文件反编译为zip
- -nowait 不等待用户阅读CLI信息
文件
- 添加 (Ctrl + O) - 如果你添加一个jar/zip,BCV将解压它,如果你添加一个APK或DEX文件,BCV将运行dex2jar
然后运行jar的输入过程。
- 重新打开最近的文件(Ctrl + L)--重新打开你最近打开的文件。
- 新工作区(Ctrl + N)--它清除了已打开的 jars/资源。
- 运行(Ctrl + R)--在一个安全的沙盒JVM实例中运行你已加载到BCV的类文件,你可以
完全调试。
- 编译 (Ctrl + T) - 尝试编译你选择的所有可编辑面板,如果是Java,它将用
拉尼诺。Krakatau和*Smali使用他们自己的汇编程序。
- Save As Jar - 将类文件和加载的资源导出为一个可运行的 Jar 文件。
- Save As DEX - 运行 jar2dex 并将类文件导出为 DEX。
- Save Files As - 将所有的 Classfiles 和资源保存为一个 zip 文件。
- Save Java File As - 保存当前打开的反编译Classfile。
- Save Java Files As - 将所有反编译的Classsfiles保存为一个zip文件。
- 最近的文件 - 你用BCV打开的最后25个文件/目录。
- About - 关于BCV的一个小信息窗口。
- 退出 - 关闭BCV.
查看面板
- Editable - 定义该观察窗格是否可编辑。
- None - 将不显示任何东西。
- Procyon - 使用Procyon反编译器进行反编译。
- CFR - 用CFR反编译器反编译。
- FernFlower - 使用FernFlower反编译器进行反编译。
- JD-GUI - 使用JD-GUI反编译器进行反编译.
- Krakatau Java - 使用Krakatau反编译器进行反编译。
- Krakatau Bytecode - 用Krakatau反汇编器进行反汇编。
- Smali - 使用Smali进行反汇编。
- Bytecode - 通过CFIDE对字节码进行反编译。不可编辑。
- Hexcode - 在一个十六进制浏览器中显示类文件。不可编辑。
设置
- 保存时编译 - 如果选择了这个选项,每当你执行文件>保存*功能时,它将在保存前尝试编译。
保存。
- 刷新时编译 - 如果选择了这个选项,每当你按下刷新键,它将在重新加载资源/类之前进行编译。
- 更新检查 - 如果选择了这个选项,它会查询 https://github.com/Konloch/bytecode-viewer 以确保你得到最新的
版本。
- 在视图改变时刷新 - 如果选择了这个选项,每当你在视图面板中改变一个选项时,它将刷新当前打开的资源/类。
当前打开的资源/类。
- 解码APK资源 - 如果选择了这个选项,当你添加一个APK时,它将首先运行APKTool.jar来解码资源。
资源。
- 设置Python 2.7可执行文件 - 如果你希望Krakatau反编译器/反汇编器/反汇编器工作,请设置Python 2.7可执行文件。
工作。
- Set JRE RT Library - 为Krakatau反编译器设置JRE RT库。
插件
- 打开插件 - 打开一个为BCV创建的.java插件。
- 最近的插件 - 你用BCV打开的最后25个插件。
- 代码序列图 - 为当前打开的类文件建立一个粗糙的代码序列图。
- 恶意代码扫描器 - 允许你定义要搜索的内容,并输出它所发现的内容。
- 显示主要方法 - 检测并输出所有的公共静态void main(String[])函数。
- 显示所有字符串 - 抓取并输出每个类文件中的所有字符串。
- 替换字符串 - 允许你对classfile中的字符串做一个简单的永久.替换,对于URL交换非常有用。
- Allatori字符串解密器 - 解密Allatori混淆/加密的字符串。
- ZKM字符串解密器 - 解密ZKM混淆/加密的字符串。
- ZStringArray字符串解密器--解密被混淆/加密的ZStringArray字符串。
使用了不同项目的代码,包括但不限于
- WaterWolf的J-RET
- Sam Koivu的JHexPane
- Robert Futrell的RSynaxPane
- Commons IO by Apache
- ASM by OW2
- FernFlower by Stiver
- Procyon,作者:Mstrobel
- CFR by Lee Benfield
- CFIDE by Bibl
- Smali by JesusFreke
- Dex2Jar by pxb1988
- Krakatau by Storyyeller
- JD-GUI + JD-Core by The Java-Decompiler Team
- Enjarify by Storyyeller
注意事项