本文介绍下Java Jar常见的反编译工具,并给出使用感受。
反编译JAR能干什么: 排查问题、分析商业软件代码逻辑,学习优秀的源码思路。
JD-GUI
下载地址:http://java-decompiler.github.io/
点评:支持的java版本不会太高,中文注释能够正常显示。
Luyten
下载地址:https://github.com/deathmarine/Luyten
点评: 支持Java版本更多,但是中文显示不正常,底层使用的是Procyon。
Jadx
下载地址:https://github.com/skylot/jadx
点评:较为耗费系统的内存与资源,解析速度慢。
Bytecode Viewer
下载地址:https://github.com/Konloch/bytecode-viewer
点评:大部分都能正常查看,也能够查看字节码指令,功能较全面推荐使用。
Class Shark
下载地址:https://github.com/google/android-classyshark
点评: 测试两个jar都直接失败,放弃。
综合点评
jd-gui.exe功能多但是支持java版本不太高,Luyten支持版本更多,但是中文显示不好。Bytecode Viewer也不错。Jadx强项在APK逆向方面,更吃资源。Class Shark使用未成功,你们看着办。
终极大招
实际上面的反编译的工具失败了,我们还可以利用Idea自带的反编译工具。
只需要新建一个Maven项目,在项目的pom中加入需要反编译的Jar包,groupId、artifactId、version可以随便写,pom.xml如下图所示。
1 |
|