苹果反编译源码-最好的Java反编译工具是什么?

点击上方红色字体,选择“加星标公众号”

优质文章,第一时间送达

一、简介

1.什么是反编译?

大家都知道,将源代码转换成二进制可执行代码的过程称为“编译”,比如将C源代码编译成.exe可执行文件; 那么将二进制可执行代码转换为源代码的过程称为“反编译”。 例如,将exe转换为C源代码称为“反编译”。

由于主流C编译器都对代码进行了优化,所以将C编译生成的exe文件反编译成C代码是极其困难的。 然而,对于Java、.net等基于虚拟机技术的编程语言来说,反编译非常容易。 Java平台下有Jad、Jode、JD等反编译器,.net平台下有Reflector等反编译器。 他们的反编译质量极高,与源代码几乎没有任何区别。

2、源代码是通过反编译得到的吗?

反编译后的代码与源代码非常接近,但与源代码有一些区别,比如对一些表达式进行了优化,例如下面的源代码:

整数i=1+1;

研究过《编译原理》的同事都知道,有一种“不断优化”的编译优化算法,所以上面的源码通常优化为:int i=2;

由于编译过程中已经进行了优化,“1+1”的原始信息被扔掉了,所以反编译后的代码只能是:

整数i = 2;

可以看出,反编译后的代码与源代码是不同的。

例如:在andriod中

下载 = (按钮)findViewById(R.id.xiaz);

优化为 download = (Button)findViewById(0x7f070018);

3、程序可以反编译不是不安全吗?

可以采用代码混淆等技术来增加反编译的难度,降低反编译代码的可读性,但不可能完全避免反编译。

苹果反编译源码-最好的Java反编译工具是什么?

4、反编译器的原理是什么?

由于Java、.net等基于虚拟机技术的语言平台都采用了Byte Code的二进制结构,因此很容易将Byte Code转换为“抽象语法树”(简称AST,在《编译原理》课程中)概念),然后使用反编译器将 AST 转换为代码。

2. 反编译工具和插件有哪些?

1.JD-GUI【推荐】

JD-GUI是Java Decompiler项目(JD项目)下的图形化操作方式的反编译器。

JD-Eclipse属于Java Decompiler项目(JD项目)下的Eclipse插件运行方式的反编译插件。

JD-IntelliJ属于Java Decompiler项目(JD项目)下的Intellij插件运行方式的反编译插件。

JD-GUI是一款用C++开发的Java反编译工具,由Pavel Kouznetsov开发,支持Windows、Linux和Apple Mac Os三种平台。 并提供Eclipse平台下的插件JD-Eclipse,以及Intellij平台下的插件JD-Intellij。 JD-GUI无需安装,只需点击运行,即可反编译jar和class文件。

支持jar包级反编译苹果反编译源码,整个jar包可以直接保存为*.src.zip源码包,反编译速度快,错误率很小。

JD分为两种运行方式:JD-GUI和JD-Eclipse/JD-Intellij。 JD-GUI 作为单独的程序运行,JD-Eclipse/JD-Intellji 作为 Eclipse/IDEA 插件运行。

Java 反编译器项目旨在开发用于反编译和剖析 Java 5 及更高版本“字节代码”的工具。

JD-Core 是一个从一个或多个“.class”文件重建Java 源代码的库。 JD-Core可用于恢复丢失的源代码并探索运行时Java的源代码。 支持新的 Java 5 功能,例如注释、泛型或类型“enum”。 JD-GUI 和 JD-Eclipse 包含 JD-Core 库。

2. 贾德

jad是一种使用特别广泛的Java反编译工具。 Jadclipse是一个基于jad的反编译插件。 JAD 文件包含 MIDlet 套件的标头信息,例如开发应用程序的公司、应用程序名称及其大小。

3.XJad(比较好用,但目前版本是2.2,2006年发布,一直没有更新,有bug,不推荐)

XJad是一款基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2;

苹果反编译源码-最好的Java反编译工具是什么?

它可以处理多个*.class文件、文件夹中的所有文件,甚至*.jar文件;

具有多页文本编辑器,还可以集成在资源管理器中,随时可以右键操作;

支持java句型高亮;

4. 鲁伊滕

比较准确的java反编译工具,没用过,用的人也比较少。

……

反编译工具有很多,但推荐JD-GUI,其次是XJad。

----------------------

反编译工具下载:

1.JD-GUI(Java反编译工具)0.3.6绿色免费版.zip【免安装,直接解压运行】-CSDN下载

2.Java反编译工具(XJad) v2.2中文绿色版.zip【无需安装,直接解压运行】-CSDN下载

3.反编译工具JD-GUI的使用

作为一名软件开发人员,在自学成长的道路上,免不了要学习借鉴别人开发的功能实现方法。 js/css/html可以通过浏览器直接抓取,不用源码也能收到calss文件也是一件幸事,那么如何查看class文件呢? 这就要用到反编译工具了。

① JD-GUI,Java反编译工具,纯红色,完全免费,非常适合开发者,界面简洁优雅

② 点击“文件”,选择“打开文件...”选项,会弹出文件选择框,可以选择要打开的文件,或者直接点击文件夹图标,会直接弹出文件选择框

苹果反编译源码-最好的Java反编译工具是什么?

③在打开的文件右侧可以看到该文件的存储位置、类别和技能。 右侧显示课程的具体内容,不会显示评论。 同时还会将该类所在包下的其他类反编译成源码:

要将预览的 .class 文件转换为 .java 文件,只需单击“文件”菜单中的“保存”即可。

④ 另一种方式是直接打开jar包,用鼠标点击文件夹图标,会弹出文件选择框,选择一个jar包,点击“确定”

⑤ 从打开的界面中可以看到整个jar包中.class文件的反编译结果

顺便说一句,XJad的使用(使用方法和JD-GUI类似),虽然版本比较老,而且正式版已经10多年没有更新了,但早就废弃了。

但也可用:

使用说明:

========

1.打开一个或多个*.class文件,XJad反编译后,重命名为*.java文件,

保存到当前文件夹,并在编辑器中打开查看;

2、打开一个文件夹,XJad会反编译该文件夹中的所有*.class文件并保存在该文件夹中。

根据包路径信息生成文件夹路径,如com.spring.framework.*,

将构建comspringframework的文件夹结构;

3、打开一个*.jar文件,XJad将Jar文件中的所有*.class文件解压到临时目录并反编译。

并将带有包路径信息的源文件保存到当前文件夹下名为“~”+*.jar的文件夹中;

① 单文件反编译

反编译后苹果反编译源码,会在原.class所在文件夹中生成同名的.java源代码文件:

并且XJad会手动打开反编译后生成的源代码文件:

② 要反编译整个文件夹,可以选择一个文件夹,XJad 会反编译该文件夹下的所有.class 文件。

例如,我在盘符中新建一个文件夹FindPassword,里面只有一个FindPasswordController.class文件

然后选择反编译的文件夹:

确认后:

提示已经反编译成功。 现在我们到D:FindPassword查看一下,里面已经生成了一个按层次排列的源文件包。

点进去一看,文件夹里有刚刚反编译出来的源代码文件:

打开记事本看看,源码正常,但是没有注释

③jar包反编译

确认后

反编译后,jar包所在文件下会生成一个以“~”开头的源码文件夹:

打开它看看:

好了,JD-GUI和XJad的使用就介绍到这里了。

----------------------

工具下载:

1.JD-GUI(Java反编译工具)0.3.6绿色免费版.zip-CSDN下载

2.Java反编译工具(XJad) v2.2中文绿色版.zip【无需安装,直接解压运行】-CSDN下载

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 苹果反编译源码-最好的Java反编译工具是什么? https://www.wkzy.net/game/164364.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务