首页 > 编程知识 正文

java反编译是什么(反编译java)

时间:2023-05-06 21:02:33 阅读:69317 作者:4845

一.功能介绍

Jad是一个工具,可以将java.class文件反编译为对应的. Java文件。

二.下载

Jad下载页面

根据您的系统选择要应用的版本。

三、使用说明(以Windows版本为例) ) )。

1、解压缩下载的压缩包

Jad解冻后的目录展示

2、可以将相应. exe文件的执行目录放置在系统的path路径中使用。 例如,配置Java环境变量)

将Jad执行目录设置为环境变量

问题:上述配置有问题。 解压缩后,解压缩后的文件夹名称带有. win,因此环境变量配置错误。 删除. win会成功。 (我记得在测试过程中再次打开cmd命令窗口。

Jad环境变量设置成功图标

3、将Coding枚举类用于反编译演示

package com.dtdream.design.blog;

import lombok.Getter;

//*

* @Author: kss

* @Description:

* @Date: Create in 2019/5/21

*/

@Getter

公共枚举错误消息枚举{

USER_NOT_EXIST ('当前用户不存在。 请登录并重试')、

私有字符串消息;

错误消息枚举(字符串消息)。

this.message=message;

}

}

代码很简单。 找到相应的已编译. class文件,然后尝试Jad的威力。

4、使用Jad反向编译. class文件

命令: jad ErrorMessageEnum.class

使用Jad成功进行了反向编译

. class文件目录中有更多的. jad文件

5、在文本编辑器中打开文件,反向编译的代码如下。

//decompiledbyjadv1.5. 8g.copyright 2001 pavelkouznetsov。

//jad home page :3358 www.KP dus.com/jad.html

//decompiler options 3360包导入(3)。

//source filename 3360 error message enum.Java

package com.dtdream.design.blog;

publicfinalclasserrormessageenumextendsenum

{

//在此,使用静态静态代码块初始化的值克隆数组

publicstaticerrormessageenum [ ] values (

{

返回(error message enum [ ] ) $VALUES.clone );

}

//重写父类的valueOf方法

publicstaticerrormessageenumvalueof (字符串名称) )。

{

返回(错误消息枚举)枚举. value of ) com/dt dream/design/blog /错误消息枚举,name );

}

//枚举类的缺省私有构造函数,以及其他限定编译以报告错误

私有内存消息(strings,int i,String message )。

{

super(s,I );

this.message=message;

}

私有字符串消息;

//@Getter生成的get方法

公共字符串获取消息sage (

{

返回消息;

}

//final限定的字段类在加载时初始化,否则在编译时报告错误,并初始化下一个静态代码块

publicstaticfinalerrormessageenumuser _ not _ exist;

privatestaticfinalerrormessageenum $ values [ ];

从静态静态代码块在类加载时对final变量进行初始化赋值

静态

{

user _ not _ exist=newerrormessageenum (user _ not _ exist ),0,(_5f53_524d_u7528_u6237_4e0d_ )。

$ values=(newerrormessageenum [ ] {

USER_NOT_EXIST

);

}

}

因此,通过Jad反编译工具,可以在开发过程中了解Java代码的实际情况。 可能不像我们看到的那样。 希望分析一些代码(例如添加lombok @ data注释的代码的样子)的合作伙伴可以使用Jad反编译. class文件以查看代码的实际情况。

在成长的道路上,我希望你拥有我。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。