源码用编译吗-Java代码的编译和反编译有哪些?

1.什么是编译

1.使用编译器将源语言编译的源程序形成目标程序的过程。

2、与编译器形成目标程序的动作。 编译就是将中间语言变成计算机可以识别的2的补码语言。 计算机只理解1和0,编译器用2的补码替换了人们熟悉的语言。 编译器将源程序翻译成目标程序的工作过程分为五个阶段:词法分析; 句型分析; 语义检测和中间代码生成; 代码优化; 目标代码生成。 主要进行词法分析和句型分析,也称为源程序分析。 分析过程中,如果出现句型错误,则会给出提示信息。

2.什么是反编译

计算机软件逆向工程(Reverse Engineering),又称计算机软件恢复工程,是指对他人的软件目标程序(可执行程序)进行“逆向分析研究”,从而推导出用于他人软件产品的思想。 原理、结构、算法、处理流程、运行方式等设计元素在某些具体情况下可以推导出源代码。 将其反编译作为自己开发软件时的参考,或者直接在自己的软件产品中使用。

3.Java类的编译与反编译

我们刚学习Java的时候,会接触到两个命令:Javac和Java。 当时我们知道Javac是用来编译Java类的,即将我们编写的helloworld.Java文件编译成helloworld.class文件

类文件打破了C或C++等语言所遵循的传统。 用这种传统语言编写的程序通常首先被编译,然后链接成支持特定硬件平台和操作系统的单独的二补代码文件。 一般来说,一个平台上的二进制补码可执行文件无法在其他平台上运行。 Javaclass文件是一个二补码代码文件,可以运行在任何支持Java虚拟机的硬件平台和操作系统上。

所以反编译就是通过helloworld.class文件得到Java文件(或者程序员能理解的Java文件)。

4、什么时候会用到反编译?

1、我们只有一个类的类文件源码用编译吗,我们看不懂Java类文件,所以我们可以将其反编译成我们能看懂的文件。

2.在学习Java的过程中,每个版本的JDK都会添加越来越多的句子糖。 有时候我们想了解Java的一些实现细节,就可以使用反编译。

五、反编译工具

1.javap

2. Jad:官方网站(墙裂推荐)

客户方:

您可以从官网下载可执行文件,找到对应操作系统的对应版本,然后安装使用。

由于我使用的是Linux操作系统,所以我下载了该工具的Linux版本。 该工具下载后,会有一个可执行文件。 只要在可执行文件所在目录执行./jadhelloworld.class,就会在当前目录生成helloworld。 jad文件,就是我们熟悉的Java代码

Eclipse 插件:

下载地址 在官网下载插件的jar包,然后将jar包放到eclipse的plugins目录下。 打开Eclipse,Eclipse->Window->Preferences->Java,你会发现比之前多了一个JadClipse。 Option,点击,在Pathtodecompiler中输入刚才放置jad.exe的位置,也可以为临时文件建立一个目录。 其实JadClipse下还有一些子选项,比如Debug、Directives等,按照默认配置即可。 基本配置完成后,我们可以查看类文件默认的打开方式,Eclipse->Window->Preferences->General->Editors->FileAssociations,我们可以看到有两种打开类文件的方式, JadClipse和Eclipse都自带了ClassFileViewer,而JadClipse是默认的。全部配置完成后,我们可以查看下面的源码,选择要查看的类源码用编译吗,按F3查看源码

收藏 (0) 打赏

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

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

悟空资源网 源码编译 源码用编译吗-Java代码的编译和反编译有哪些? https://www.wkzy.net/game/161252.html

常见问题

相关文章

官方客服团队

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