您的位置: 翼速应用 > 业内知识 > Java > 正文

关于将class反编译成java文件之详细教程

本文给大家带来了关于java的相关知识,聊聊将class反编译成java文件的详细操作方法,大致内容如下:


1、下载“jad.exe”插件,将其和“.class”文件放置在同一目录下;

2、打开cmd命令窗口,使用cd命令进入“Jad.exe”所在目录;

3、执行“Jad -d java文件存放路径 -sjava class文件路径”命令即可。


关于将class反编译成java文件之详细教程


本文适用于:windows7系统、java8版、DELL G3电脑。


关于将class反编译成java文件之详细教程


一、工具/材料


jad.exe反编译插件下载地址可参考:


https://varaneckas.com/jad/


ttp://pan.baidu.com/s/1qWmNlww


二、方法/步骤


说明


在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:


●  Front End


●  Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java


●  Decompiler、NMI’s Java Class


●  Viewer和国产的JAVA源代码反编译专家等等。JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。


操作


将jad.exe和.class文件放置在同一目录下(非必需,可随意,后面会讲解)。


将jad.exe和.class文件放置在同一目录下


开始-运行(或Win+R)-cmd打开系统命令窗口,进入Jad.exe所在目录


例如:


f: 
cd F:\Jad


进入Jad.exe所在目录


输入命令Jad -d F:\Jad\test -sjava test\*.class 回车 即可生成Java文件


输入命令Jad -d F:\Jad\test -sjava test\*.class 回车 即可生成Java文件


示例:


Jad -d F:\Jad\test -sjava test\*.class


示例


备注说明: *.class 中*是通配符,默认选中此目录下所有.class文件,如只需要反编译某一个.class文件,可直接写成 文件名+.class


如:Jad -d F:\Jad\test -sjava test\CaseInfoSaveAction.class


Jad命令--帮助提示:


-a - 用JVM字节格式来注解输出

-af - 同 -a,但是注解的时候用全名称

-clear - 清除所有的前缀

-b - 输出多余的括号 (e.g., if(a) { b(); }, default: no)

-d < dir >- 指定输出文件的文件目录

-dead -试图反编译代码的dead 部分(default: no)

-disass - 不用用字节码的方式反编译 (no JAVA source generated)

-f - 输出整个的名字,无论是类还是方法

-ff -输出类的成员在方法之前 (default: after methods)

-i - 输出所有的变量的缺省的最初值

-l< num >- 将strings分割成指定数目的块的字符 (default: no)

-lnc - 将输出文件用行号来注解 (default: no)

-nl - 分割strings用新行字符 newline character (default: no)

-nodos -不要去检查class文件是否以dos方式写 (CR before NL, default: check)

-nocast - 不要生成辅助文件

-nocode -不要生成方法的源代码

-noconv - 不要转换java的定义符 (default: do)

-noctor - 不允许空的构造器存在

-noinner -关掉对内部类的支持 (default: turn on)

-nolvt - 忽略局部变量的表信息

-nonlb - 不要输出一个新行在打开一个括号之前 (default: do)

-o - 无需确认直接覆盖输出 (default: no)

-p - 发送反编译代码到标准输出 STDOUT (e.g., for piping)

-pa -用于生成源文件中的所有包的前缀

-pc -带有数字名称的类的前缀(默认值:_cls)

-pe -未使用异常名称的前缀(默认值:_ex)

-pf -带数字名称字段的前缀(默认值:_fld)

-pi -使用。

-pl -带数字名称的局部变量前缀(默认值:_lcl)

-pm -带有数值名称的方法的前缀(默认值:_mth)

-pp -带有数值名称的方法parms前缀(默认值:_prm)

-pv -将具有相同类型的字段打包成一行(packfields)

-r -恢复包目录结构

-s -输出文件扩展名(默认:.jad)

-空格-关键字(if, while等)和表达式之间的输出空格

-stat -显示处理过的类/方法/字段的总数

-t -使用空格进行缩进(默认值:4)

-t -使用制表符代替空格进行缩进

-v -反编译时显示方法名


以上就是关于将class反编译成java文件之详细教程,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题