本文介绍下Java Jar常见的反编译工具,并给出实际使用体验。
关于反编译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功能多但是支持java版本不太高,Luyten支持版本更多,但是中文显示不好。Bytecode Viewer也不错全全面。Jadx强项在APK逆向方面,更吃资源。Class Shark使用未成功,不推荐使用。
终极大招
如果上面的反编译的工具失败了,我们还可以利用Idea自带的反编译工具。
只需要新建一个Maven项目,在项目的pom中加入需要反编译的Jar包,groupId、artifactId、version可以随便写,pom如下图所示,然后使用idea查看源码,此方法不依赖第三方工具,效果十分不错。
<dependency>
<groupId>vip.codehome</groupId>
<artifactId>test</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>C:\Users\codehome\Desktop\{jar名称}.jar</systemPath>
</dependency>
原文始发于微信公众号(编程异次元):Java Jar源码反编译工具那家强
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/235291.html