【原创】推荐几款试用过的JAVA反编译工具

Jar反编译工具

作者: koangel 发表于: 2017-09-01 13:51:56

0x1 起因

好吧,介绍起因是因为刚好在打包游戏的时候有一个库总是不记得是不是打包进去,因为U3D是提供类似插件的形式打包JAR,尤其是一些JAR形式的插件,比如腾讯的推送XPUSH之类的,还有极光推送啊,ANYSDK之类的。

过程是因为每次打包总是会漏掉一些东西,因为这些SDK是需要做二次打包的,我们就考虑试试可以重新反编译看看是否库在里面,顺便测试一下混淆的代码强度。

0x2 问题

好多软件无法反编译最新的JAVA 8编译的部分库,从而无法看到混淆是否成功,因为本身就报错了,自然不知道混淆函数内是什么。

那么就需要支持最新的几个库,这个时候我们筛选了几个库留个备份,不论以后是用于学习或其他目的,总归可以用到,特此记录。

0x3 工具推荐

jadx 0.6.1

介绍:目前来说,用过最屌的反编译工具了,不但支持DEX和JAR,还可以直接打开APK,兼职屌炸天,最新版本发布于2016年属于很新的版本,用他测试后发现,混淆的代码毫无压力的可以读懂,真心蛋疼啊,可DEX无法加密啊。

地址:https://github.com/skylot/jadx

jd-gui 1.4.0

介绍:推荐他是因为是老牌的反编译工具了,目前主流的一些JAR毫无压力,对DEX,APK等毫无作用,所以不用尝试了,部分JAVA8编译的库是看不到的,反编译会错误,逻辑上存在一定问题,最后一次更新2015年,已停更多年。

地址:http://jd.benow.ca/

Krakatau

介绍:此工具用Python编写,好吧,又一次看到Python工具集了,介绍中知道几乎支持所有JAVA版本的库,且可以反编译为 .j 文件,最变态的是这家伙可以把他再打包回去,简直蛋疼,由于 .j 貌似是机器码之类的,完爆了目前我们用的混淆工具,略微蛋疼。
最重要,作者貌似还在更新中…

地址:https://github.com/Storyyeller/Krakatau

Despector

介绍:未使用过,但看到了,原因是这家伙居然支持反编译为kotlin,这个就略屌了,由于是JAVA写的暂未测试,因为没有RELEASES内容,无法直接下载测试,暂时掠过,仅供推荐。

地址:https://github.com/Despector/Despector

BytecodeView

介绍:此工具也是略屌的,号称完全支持JAVA 8的各种库,最后更新时间是2015年7月份,所以先推荐吧,启动后会去巴拉巴拉下载一堆库,略微蛋疼,目前用着凑合,实际上该工具有自己的强项,本人暂未深挖,你们可以自己试试。
支持APK,支持DEX,该工具也是一堆屌炸天的介绍,根据其机制来看,就是一堆的库来堆一个NB的工具,还行吧。
补充:简单随便拿了一个JAR测试了一下,真BT,居然可以直接修改再编译成JAR,简直NB啊,让我想起.NET的某些工具。

地址:https://bytecodeviewer.com/

Luyten 0.5

介绍:类似于jadx,持续更新中,感觉这个也挺好用的,基于JAVA编写,支持最新JAVA,有GUI程序。

地址:https://github.com/deathmarine/Luyten

0x4 结尾

本人仅仅是以个人需要记录以及推荐部分JAVA反编译工具,仅供学习之用,不得用于非法用途,否则一切法律责任由当事人负责。
转载请注明:http://grapc.me