本文介绍下Java Jar常见的反编译工具,并给出使用感受。
反编译JAR能干什么: 排查问题、分析商业软件代码逻辑,学习优秀的源码思路。
JD-GUI
点评:支持的java版本不会太高,中文注释能够正常显示。
Luyten
点评: 支持更多,但是中文不正常显示。底层使用的是Procyon。
Jadx
点评:卡了很长时间都没显示解析完,很耗内存与时间。
Bytecode Viewer
点评:大部分都能正常查看,也能够查看字节码指令。
Class Shark
点评: 测试两个jar都直接失败,放弃。
综合点评
jd-gui.exe功能多但是支持java版本不太高,Luyten支持版本更多,但是中文显示不好。Bytecode Viewer也不错。Jadx强项在APK逆向方面,更吃资源。Class Shark使用未成功,你们看着办。
终极大招
实际上面的反编译的工具失败了,我们还可以利用Idea自带的反编译工具。
新建一个Maven项目,在项目的pom中加入需要反编译的Jar包,groupId、artifactId可以随便写。
vip.codehome
test
system
1.0
C:\\Users\\codehome\\Desktop\\{jar名称}.jar