2021-07-07 09:00:14 +00:00
|
|
|
|
<html>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<h2>关于</h2>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
Bytecode Viewer (BCV)被设计成对用户和初学者非常友好,因此,几乎所有的东西都可以通过界面、设置、工具等方式进行访问。
|
2021-07-07 09:00:14 +00:00
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<br>将Jar/APK/Class文件拖到资源列表中。</br>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
|
|
|
|
|
<h2>设置</h2>
|
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>Fat Jar: {fatJar}</li>
|
|
|
|
|
<li>Java: {java}</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
<li>Javac: {javac}</li>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>BCV 目录: {bcvDir}</li>
|
|
|
|
|
<li>Python 2.7 (or PyPy): {python}</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
<li>Python 3.X (or PyPy): {python3}</li>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>RT.jar: {rt}</li>
|
|
|
|
|
<li>可选库: {lib}</li>
|
|
|
|
|
<li>BCV Krakatau: {krakatauVersion}</li>
|
|
|
|
|
<li>Krakatau 目录: {krakatauDir}</li>
|
|
|
|
|
<li>BCV Enjarify: {enjarifyVersion}</li>
|
|
|
|
|
<li>Enjarify 目录: {enjarifyDir}</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<h2>命令行界面 (CLI)</h2>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li> -帮助 显示帮助菜单</li>
|
|
|
|
|
<li> -列表显示可用的反编译程序</li>
|
|
|
|
|
<li> -反编译 [decompiler]选择反编译器,默认为procyon</li>
|
|
|
|
|
<li> -i [input file] 选择输入文件 (Jar, Class, APK, ZIP, DEX all work automatically)</li>
|
|
|
|
|
<li> -o [output file] 选择输出文件 (Java or Java-Bytecode)</li>
|
|
|
|
|
<li> -t [target classname] 必须是完全合格的类名,或者是 "all "来反编译所有的zip</li>
|
|
|
|
|
<li> -nowait 不要等待用户阅读命令行界面消息</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<h2>文件</h2>
|
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>Add (Ctrl + O) - I如果你添加了一个jar/zip,BCV将解压它,如果你添加了一个APK或DEX文件,BCV将运行dex2jar,然后运行jar输入进程。
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</li>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>重新打开最近的文件(Ctrl + L) -重新打开最近打开的文件。</li>
|
|
|
|
|
<li>新工作区域(Ctrl + N) -它清除打开的罐子/资源。</li>
|
|
|
|
|
<li>运行(Ctrl + R) -在一个安全的沙盒JVM实例中运行您已经加载到BCV的类文件,您可以完全调试该实例。</li>
|
|
|
|
|
<li>编译(Ctrl + T) -尝试编译您选择的所有可编辑面板,如果是Java,它将使用Ranino编译。Krakatau和*Smali使用自己的装配工。
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</li>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>另存为Jar - 将类文件和加载的资源导出为可运行的Jar文件。</li>
|
|
|
|
|
<li>另存为DEX - 运行jar2dex并将类文件导出为dex。</li>
|
|
|
|
|
<li>将文件另存为 - 将所有的类文件和资源保存为zip文件。</li>
|
|
|
|
|
<li>将 Java 文件另存为- 保存当前打开的反编译类文件。</li>
|
|
|
|
|
<li>将 Java 文件另存为zip - 将所有反编译的类文件保存为zip文件。</li>
|
|
|
|
|
<li>最近打开的文件 - 你在BCV打开的最后25个文件/目录。</li>
|
|
|
|
|
<li>关于 - 一个关于BCV的小信息窗口。</li>
|
|
|
|
|
<li>退出 - 关闭BCV。</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<h2>视图面板</h2>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>Editable - 预定义视图面板是否可编辑。</li>
|
|
|
|
|
<li>无 - 不会显示任何内容。</li>
|
|
|
|
|
<li>Procyon - 使用Procyon反编译程序反编译。</li>
|
|
|
|
|
<li>CFR - 使用CFR反编译程序反编译。</li>
|
|
|
|
|
<li>FernFlower - 使用FernFlower反编译程序反编译。</li>
|
|
|
|
|
<li>JD-GUI - 使用JD-GUI反编译程序反编译.</li>
|
|
|
|
|
<li>Krakatau Java - 用Krakatau反编译程序反编译。</li>
|
|
|
|
|
<li>Krakatau Bytecode - 用Krakatau反汇编程序反汇编.</li>
|
|
|
|
|
<li>Smali - 用 Smali反汇编</li>
|
|
|
|
|
<li>字节码 - 通过CFIDE反编译字节码。不可编辑。</li>
|
|
|
|
|
<li>十六进制代码 - 在十六进制查看器中显示类文件。不可编辑。</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<h2>设置</h2>
|
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>编译在保存 —— 如果您在执行File>Save *函数时被选中,它将在保存之前尝试编译。</li>
|
|
|
|
|
<li>编译在刷新 —— 如果在按下refresh时选中,则在重新加载资源/类之前编译。</li>
|
|
|
|
|
<li>检查更新 ——如果您选择了它,请查询https://github.com/Konloch/bytecode-viewer以确保您获得了最新的的版本。</li>
|
|
|
|
|
<li>视图更改时刷新 —— 如果您在视图窗格中更改一个选项时选中,它将刷新当前打开的资源/类。</li>
|
|
|
|
|
<li>解码的APK资源 —— 如果在添加APK时选中,它将首先运行APKTool.jar来解码资源。</li>
|
|
|
|
|
<li>设置Python 2.7可执行文件 —— 如果你想要Krakatau反编译器/反汇编器/汇编器,请设置Python 2.7可执行文件去工作。</li>
|
|
|
|
|
<li>设置JRE RT库 —— 设置Krakatau反编译器的JRE RT库。</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<h2>插件</h2>
|
|
|
|
|
<ul>
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<li>打开插件 —— 打开为BCV创建的.java插件。</li>
|
|
|
|
|
<li>最近的插件 —— 你用BCV打开的最后25个插件。</li>
|
|
|
|
|
<li>代码程序表 —— 为当前打开的类文件构建一个原始的代码序列图。</li>
|
|
|
|
|
<li>恶意代码扫描 —— 允许您定义要搜索的内容,并输出找到的内容。</li>
|
|
|
|
|
<li>显示主要方法 —— 检测并输出所有的public static void main(String[])函数。</li>
|
|
|
|
|
<li>显示所有字符串 —— 抓取然后输出每个类文件中的所有字符串。</li>
|
|
|
|
|
<li>替换字符串 —— 允许您对类文件字符串执行简单的永久.replace操作,这对URL交换非常有用。</li>
|
|
|
|
|
<li>Allatori 字符串解码器 —— 解密Allatori混淆/加密字符串。</li>
|
|
|
|
|
<li>ZKM 字符串解码器 —— 解密ZKM混淆/加密字符串。</li>
|
|
|
|
|
<li>ZStringArray字符串解码器 —— 解密ZStringArray混淆/加密字符串。</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<h2>已使用来自不同项目的代码,包括但不限于</h2>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>J-RET作者WaterWolf</li>
|
|
|
|
|
<li>JHexPane作者Sam Koivu</li>
|
|
|
|
|
<li>RSynaxPane作者Robert Futrell</li>
|
|
|
|
|
<li>Commons IO作者Apache</li>
|
|
|
|
|
<li>ASM作者OW2</li>
|
|
|
|
|
<li>FernFlower作者Stiver</li>
|
|
|
|
|
<li>Procyon作者Mstrobel</li>
|
|
|
|
|
<li>CFR作者Lee Benfield</li>
|
|
|
|
|
<li>CFIDE作者 Bibl</li>
|
|
|
|
|
<li>Smali作者JesusFreke</li>
|
|
|
|
|
<li>Dex2Jar作者pxb1988</li>
|
|
|
|
|
<li>Krakatau作者Storyyeller</li>
|
|
|
|
|
<li>JJava-Decompiler团队的JD-GUI + JD-Core</li>
|
|
|
|
|
<li>用Storyyeller的话来形容</li>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
</ul>
|
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
<h2>笔记</h2>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>如果BCV无法启动,只需将-clean作为参数附加到lib目录中即可。</li>
|
|
|
|
|
<li>放松并记笔记</li>
|
|
|
|
|
<li>BCV是出于对Java逆向工程的热爱而创建的。</li>
|
|
|
|
|
<li>你可以加入我们的Discord服务器 <a href="https://discord.gg/aexsYpfMEf">https://discord.gg/aexsYpfMEf</a>!</li>
|
|
|
|
|
<li>Bytecode Viewer的主页是 <a href="https://bytecodeviewer.com">https://bytecodeviewer.com</a></li>
|
|
|
|
|
</ul>
|
2021-07-07 09:00:14 +00:00
|
|
|
|
|
2021-07-08 10:19:47 +00:00
|
|
|
|
</html>
|