首页 资讯 业界 查看内容

Bytecode Viewer-一款基于Java 8的Android APK逆向工具包

2016-7-22 10:57 1977 0

摘要: Bytecode Viewer是一个先进的轻量级Java字节码查看器,它是一款基于图形界面的Java反编译器,Java字节码编辑器,APK编辑器,Dex编辑器,APK反编译器,DEX反编译器,Procyon Java反编译器,CFR Java反编译器,以及Fer ...

Bytecode Viewer是一个先进的轻量级Java字节码查看器,它是一款基于图形界面的Java反编译器,Java字节码编辑器,APK编辑器,Dex编辑器,APK反编译器,DEX反编译器,Procyon Java反编译器,CFR Java反编译器,以及FernFlower Java反编译器。不仅如此,它还是一款Hex查看器,代码搜索器和代码调试器。除此之外,它还具备Smali和Baksmali等汇编器的相关功能。

 

这款开源工具完全采用Java编程语言进行开发。这款工具由Konloch设计并开发,目前也主要是Konloch正在维护这一开源项目。

 

在这款工具中,还设计有一个插件系统,它可以允许你与加载的类文件进行交互。比如说,你可以写一个字符串的反混淆工具,恶意代码搜索器,或者其他的一些你所能想到的东西。

 

你不仅可以使用一个他人预先编写完成的插件,而且你也可以使用你自己写的插件。不仅如此,它还支持使用Groovy脚本,Python脚本,以及Ruby脚本。当插件状态被激活之后,它会将每一个单独的类文件加载进BCV中,这样一来,用户就可以使用ASM来控制这些加载的类文件了。

 

目前,这款开源工具已经使用了大量其他项目中的功能代码,包括但不仅限于下面列表中的项目:


J-RET-开发者为WaterWolf

JHexPane-开发者为Sam Koivu

RSynaxPane-开发者为Robert Futrell

Commons IO-开发者为Apache

ASM-开发者为OW2

FernFlower-开发者为Stiver

Procyon-开发者为Mstrobel

CFR-开发者为Lee Benfield

CFIDE-开发者为Bibl

Smali-开发者为JesusFreke

Dex2Jar-开发者为pxb1..?

Krakatau-开发者为Storyyeller

JD GUI/JD Core-开发者为The Java-Decompiler Team

Enjarify-开发者为Storyyeller


参与过该项目并贡献了代码的人:


Konloch

Bibl

Fluke

Righteous

sahitya-pavurala

priav03

Afffsdd

Szperak

Zooty

samczsun


如果您贡献过代码,而上面的这份名单中没有您的名字,请不要生气,请您立刻与我联系(@Konloch or [email protected])。

 

项目参与指导/编码规范:


上传代码包的包名必须以the.bytecode.club.bytecodeviewer开头。 

如果你所编写的代码需要抛出异常,请使用the.bytecode.club.bytecodeviewer.ExceptionUI(exception, "[email protected]")来处理抛出的异常。

所有的变量必须在每个类的开始处声明。

所有的括号必须在同一行中,比如说,public void main(String[] args) { not (String[] args) <NEWLINE_BREAK> {


官方网站: https://bytecodeviewer.com

项目源代码: https://github.com/konloch/bytecode-viewer

代码/示例文档: https://github.com/konloch/bytecode-viewer/releases

Java Docs: https://the.bytecode.club/docs/bytecode-viewer/

项目许可证: https://raw.githubusercontent.com/Konloch/bytecode-viewer/master/LICENSE

漏洞报告: https://github.com/Konloch/bytecode-viewer/issues

项目论坛: https://the.bytecode.club/forumdisplay.php?fid=69

 

主要特性:


1.在Bytecode Viewer的编译/反编译工具中集成了Krakatau。

2.集成了Smali/BakSmali-现在,你可以通过smali来编辑类文件和dex文件了。

3.支持APK/DEX-使用了Dex2Jar和Jar2Dex,可以轻松加载并保存APK文件。

4.Java反编译器-Bytecode Viewer的反编译工具中集成了FernFlower,Procyon和CFR。

5.字节码编译器-CFIED的修改版

6.十六进制查看器-由JHexPane驱动

7.每一个反编译器/编辑器/查看器都是可以进行切换的,你可以选择每一个操作面板上所显示的元素组件。

8.功能完整的搜索系统-可以搜索字符串,函数,以及变量等信息。

9.系统完全支持使用Groovy脚本。

 

除此之外,这款工具还有很多其他的特性,您可以在使用的过程中发现更多的功能。

 

命令行输入:

1
2
3
4
5
6
7
-help                         显示帮助菜单
-list                         显示可用的反编译器
-decompiler <decompiler>      选择要使用的编译器,系统默认为procyon
-i <input file>               选择输入的源文件 (系统将会自动识别Jar, Class, APK, ZIP,和DEX)
-o <output file>              选择输出文件 (Java源文件或者Java字节码文件)
-t <target classname>         必须提供完整的Java类文件名称,或者设置为“all”来反编译所有的类文件
-nowait                       无需等待用户读取CLI信息
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花
1

鸡蛋

刚表态过的朋友 (1 人)

  • 鸡蛋

    匿名

最新评论

返回顶部