Java Jar源码反编译工具对比

时间:2022-07-25
本文章向大家介绍Java Jar源码反编译工具对比,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文介绍下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如下图所示。

<dependency>    <groupId>vip.codehome</groupId>    <artifactId>test</artifactId>    <scope>system</scope>    <version>1.0</version>    <systemPath>C:\Users\codehome\Desktop\{jar名称}.jar</systemPath></dependency>