更新时间:2021-11-12 12:26:10 来源:极悦 浏览795次
Java反编译工具是Java开发工具中常用的,反编译,通俗来讲,就是将.java 文件经过编译生成的 .class 文件还原。注意这里的还原不等于 .java 文件。因为Java编译器在编译.java 文件的时候,会对代码进行一些处理。
那么接下来介绍几款 Java 反编译工具:
这是一款使用很广泛的 Java 反编译工具,对 Java 底层代码的还原比较彻底。
官网:http://varaneckas.com/jad/
包括图形化界面,eclipse插件以及idea插件,采用C++开发,支持苹果Mac、微软windows以及Linux多个平台,可以反编译class文件、jar包等。用的人比较多。但是它已经好久没有更新了,jdk7的代码很多语法都不支持,就别提已经大热的jdk8了,在我说完这句话的时候,去oracle官网一看,jdk10都发布惹。。。不过凭借着便捷与图形化还是再加上时间的沉淀,老四还是给它排在第一位。对了,JD-GUI的核心其实是听过jd-core来完成的。
eclipse的插件安装方法也是常规操作,jd-gui官网下载eclipse插件,解压放到你的eclipse安装目录就好了。然后在你的eclipse中用jd形式打开class文件就可以了,但是貌似jd已经不支持java 8的反编译了,在eclipse中直接报错,使用的时候请注意。因为老四目前没有安装idea,所以不介绍idea的jd-gui插件了。
这款201313年横空出世,至今都保持更新的反编译工具,因为其持续更新承接java的变化而且反编译效果非常良好,越来越来被人们更多的使用,根据cfr官网上的介绍,CFR支持反编译当今最新的Java特性--Java 8,例如lambda表达式以及java7中的switch支持String类型等。
cfr没有图形化工具,需要在命令行中使用,首先的你的系统要配置java的环境,然后进入到cfr的jar包目录,运行类似如下的命令。
你一定觉得很不方便,对不对?一定在想是否存在便捷一点的工具,对不对?其实工具也就是一个脚本而已,也没有方便太多,这里放出一个脚本文件,至于用不用您自己参考。
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\cfr.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
如果大家想了解更多相关知识,不妨来关注一下极悦的Java极悦在线学习,里面的知识更加丰富,从入门到精通,适合小白学习,希望对大家能够有所帮助。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习