jad环境变量配置_Java Jad 反编译

本文介绍了Java Jad反编译器的安装与使用方法,包括下载解压、环境变量配置,以及如何通过dos命令反编译.class文件。JAD支持多种选项,如反编译代码的格式调整、输出目录指定等,适用于Java开发者进行代码逆向工程。
摘要由CSDN通过智能技术生成

下载运行文件

解压目录

添加环境变量,dos命令反编译class文件

这是JAD-快速Java反编译程序的自述文件。

JAD主页:http://www.kpdus.com/jad.html

版权所有2001 Pavel Kouznetsov(jad@kpus.com)。

0。请阅读JAD主页上的免责声明。

1。安装。

将jad.zip文件解压到硬盘上任何合适的目录中。

这将创建两个文件:

-名为“jad.exe”(Windows的可执行文件)

或“jad”(n*x)

-此自述文件

不需要其他设置。

2。如何使用JAD

反编译一个Java类文件“example1.class”

键入以下内容:

jad example1.class

此命令在当前目录中创建文件'example1.jad'。

如果这样的文件已经存在,JAD会询问您是否要覆盖它。

选项-o允许在没有确认的情况下覆盖。

可以省略.class扩展名和/或在的名称中使用通配符

输入文件。

选项-s允许更改输出文件扩展名:

jad -sjava example1.class

这个命令创建文件“example1.java.”。

使用时要小心

选项-o和-sjava一起使用,因为jad可能会意外覆盖

您自己的源文件。

JAD使用Java类名作为输出文件名。

例如,如果类

文件“示例1 .class”包含Java类“TEST1”,

然后JAD将创建

文件“test1.jad”而不是“example1.jad”。

如果要指定

您自己的输出文件名使用输出重定向:

jad -p example1.class > myexm1.java

选项-d允许您为输出文件指定另一个目录,

默认情况下,在当前目录中创建。

例如:jad -o -dtest -sjava .class

(或JAD-O-D测试-S Java.类,具有相同的效果)

此命令可解压缩当前目录中的所有.class文件

将所有输出文件放在.test中。

如果要对Java类的整个树进行反编译,

使用以下命令:

jad -o -r -sjava -dsrc tree/**/*.class

这里更改src地址 和tree地址目录即可

此命令将所有.class文件解压缩到

“tree”的子目录并在子目录中创建输出文件

根据类的包名称,

返回“src”。

例如,如果文件

“tree/a/b/c.class”包含包“a.b”中的类“c”,

然后

输出文件的名称为“src/a/b/c.java”。

注意前面使用的“两颗星”通配符(“**”)。

命令。

它是由jad处理的,而不是命令shell处理的,依此类推。

unix最后一个参数应该是单引号:

jad -o -r -sjava -dsrc 'tree/**/*.class'

如果你想检查解压的准确性,或者

好奇的是,

有一个选项-a告诉jad注释输出

使用Java虚拟机字节码。

JAD支持内部类和匿名类。

当jad在输入文件名中展开通配符时,

它自动跳过匹配的内部类。

在Unix上,如果有超过

命令行中指定的一个类。

JAD在其顶级目录中查找内部类

容器类。

三.命令行选项列表。

JAD接受以下选项:

-a -用JVM字节码注释输出(默认值:关)

-af -与-a相同,但在注释时输出完全限定的名称

-clear -清除所有前缀,包括默认前缀(可以缩写为-cl)

-b -输出冗余大括号(例如,如果(a)b();,默认值:关)

-d

-dead -尝试反编译代码的死区(如果有)(默认:关闭)

-disass(不产生Java源代码)

-f -输出类/字段/方法的完全限定名(默认值:关)

-ff -在方法之前输出类字段(默认值:在方法之后)

-i -为所有非最终字段输出默认初始值设定项

-L-将字符串拆分为最大字符数(默认:关闭)

-lnc -用行号注释输出(默认值:关)

-lradix -使用指定的基数(8、10或16)显示长整数

-nl -在换行符上拆分字符串(默认值:off)

-nocast -不生成辅助强制转换

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

-不转换Java标识符(默认:转换)

-noctor -禁止空构造函数

-nodos -不检查以DOS模式写入的类文件(cr before nl,默认值:check)

-nofd -不要通过在字段名中添加签名来消除同名字段的歧义(默认值:do)

-noinner -关闭对内部类的支持(默认:打开)

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

-nonlb -在左大括号前不输出换行符(默认值:do)

-o -不经确认覆盖输出文件(默认:关闭)

-p -将反编译代码发送到stdout(例如,用于管道)

-pi -在导入后将导入打包到一行中(默认值:3)

-pv -将具有相同类型的字段打包为一行(默认:关闭)

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

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

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

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

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

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

-pp —具有数字名称的方法参数的前缀(默认值:_prm)

-r -还原包目录结构

-radix -基数-使用指定的基数(8、10或16)显示整数

-s -输出文件扩展名(默认为“.jad”)

-safe -为消除歧义的方法/字段生成其他强制转换(默认:关闭)

-space -关键字(if/for/while/etc)和表达式(默认值:off)之间的输出空间

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

-t -使用制表符而不是空格进行缩进

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

-v -正在解压的显示方法名称

-8 -将Unicode字符串转换为8位字符串

使用当前的ANSI代码页(仅限Win32)

-& -将stderr重定向到stdout(仅限Win32)

所有单字选项都有三种格式:

-o -“反转”选项的值

-o+ —将值设置为“true”或“on”

-o- 将值设置为“假”或“关”

可以在环境变量中指定默认情况下要设置的选项

Jad_选项。

例如:

JAD_OPTIONS=-ff+ -nonlb+ -t+ -space+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值