Java Jar源码反编译工具那家强

2020-09-08

本文介绍下Java Jar常见的反编译工具,并给出使用感受。

反编译JAR能干什么: 排查问题、分析商业软件代码逻辑,学习优秀的源码思路。

JD-GUI

下载地址:http://java-decompiler.github.io/

点评:支持的java版本不会太高,中文注释能够正常显示。

image-20200908201112636

Luyten

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

点评: 支持更多,但是中文不正常显示。底层使用的是Procyon。

image-20200908203433404

Jadx

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

点评:卡了很长时间都没显示解析完,很耗内存与时间。

image-20200908203351573

Bytecode Viewer

下载地址:https://github.com/Konloch/bytecode-viewer

点评:大部分都能正常查看,也能够查看字节码指令。

image-20200908202145928

Class Shark

下载地址:https://github.com/google/android-classyshark

点评: 测试两个jar都直接失败,放弃。

image-20200908202333017

综合点评

jd-gui.exe功能多但是支持java版本不太高,Luyten支持版本更多,但是中文显示不好。Bytecode Viewer也不错。Jadx强项在APK逆向方面,更吃资源。Class Shark使用未成功,你们看着办。

终极大招

实际上面的反编译的工具失败了,我们还可以利用Idea自带的反编译工具。

新建一个Maven项目,在项目的pom中加入需要反编译的Jar包,groupId、artifactId可以随便写。

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

image-20200908203626103