java jad反编译工具_java反编译工具jad

Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 点击下载

一、基本用法

Usage:jad [option(s)]

直接输入类文件名,且支持通配符,如下所示。

c:/Java/>jad example1.class

c:/Java/>jad *.class

结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java即得源文件。

二、Option -o

不提示,覆盖源文件

三、Option -s

c:/Java/>jad -sJava example1.class

反编译结果以.Java为扩展名。

四、Option -p

将反编译结果输出到屏幕

c:/Java/>jad -p example1.class

将反编译结果重定向到文件

c:/Java/>jad -p example1.class>example1.Java

五、Option -d

指定反编译的输出文件目录

c:/Java/>jad -o -dtest -sJava *.class

反编译别人的程序是不对的,但是有时候由于某种原因,不得不反编译别人的代码,那就需要一个工具了。小颖JAVA源代码反编译专家V1.4终极版是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后的就无能为力了,但是可以下载JAD.EXE来逐个反编译 CLASS文件,不过如果碰到有几十个或几百个文件夹,并且目录很深的时候,就麻烦了,这个给出一个直接使用命令行反编译整个目录的方法:使用jad批量反编译

jad -o -r -sjava -d src bin/**/*.class

src: 是反組後的目錄

bin:指 package 開頭

将bin里面所有的.class反编译到src下面JAD下载: 文件名: jadnt157.ziphttp://download.pchome.net/php/dl.php?sid=9111

jad:反编译工具

可以将class文件反编译成java文件

假设将jad.exe安装在f:/java/jad目录下

把要反编译的文件*.class复制到此目录下,接着接以下步骤,

在命令行窗口环境中进入jad目录,

然后运行:jad -s java *.class (附,*.class指要反编译的文件名)

如果*.class文件和jad程序不在同一个目录,就要用到path环境变量,

将jad 所在目录加到path路径中即可:set path=%path%;f:/java/jad

若要了解jad更为详细的使用帮助信息,直接运行jad.exe查看

以下假设jad.exe在c:/java目录下

一、基本用法

Usage:jad [option(s)]

直接输入类文件名,且支持通配符,如下所示。

c:/java/>jad example1.class

c:/java/>jad *.class

结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o

不提示,覆盖源文件

三、Option -s

c:/java/>jad -sjava example1.class

反编译结果以.java为扩展名。

四、Option -p

将反编译结果输出到屏幕

c:/java/>jad -p example1.class

将反编译结果重定向到文件

c:/java/>jad -p example1.class>example1.java

五、Option -d

指定反编译的输出文件目录

c:/java/>jad -o -dtest -sjava *.class

六、Option -r

按*.class的包结构输出文件目录

c:/java/>jad -o -r -dtest -sjava d:/1/**/*.class

将d:/1/文件夹下的.class文件按照原程序的包结构反编译到test目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAD本身是一个命令行工具,没有图形界面,我之前上传的Cavaj Java Decompiler就是以jad为内核,加了一个图形界面…… 反编译工具jad简单用法   以下假设jad.exe在c:\java目录下   一、基本用法   Usage: jad [option(s)]   直接输入类文件名,且支持通配符,如下所示。   c:\java\>jad example1.class   c:\java\>jad *.class   结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。   二、Option -o   不提示,覆盖源文件   三、Option -s   c:\java\>jad -sjava example1.class   反编译结果以.java为扩展名。   四、Option -p   将反编译结果输出到屏幕   c:\java\>jad -p example1.class   将反编译结果重定向到文件   c:\java\>jad -p example1.class>example1.java   五、Option -d   指定反编译的输出文件目录   c:\java\>jad -o -dtest -sjava *.class   命令行选择的列表   -a - 用JVM字节格式来注解输出   -af - 同 -a,但是注解的时候用全名称   -clear - 清除所有的前缀   -b - 输出多于的括号 (e.g., if(a) { b(); }, default: no)   -d   - 指定输出文件的文件目录   -dead -试图反编译代码的dead 部分(default: no)   -disass - 不用用字节码的方式反编译 (no JAVA source generated)   -f - 输出整个的名字,无论是类还是方法   -ff -输出类的成员在方法之前 (default: after methods)   -i - 输出所有的变量的缺省的最初值   -l - 将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) 很多人困扰,反编译之后中文显示乱码问题,其实显示的不是乱码,是unicode字符。 -8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。 最常用的反编译指令如下所示: Jad –d D:\javasource –s .java -8 javatest.class 这条指令将当前目录下的javatest.class反编译javatest.java并保存在D:\javasource目录里,其中的提示输出为中文,而不是Unicode代码。
java反编译工具jad 1.5.8g支持 jdk1.5,jdk1.6。说明很多记住一个万能的命令基本就够用了。jad -sjava -r -8 -o **\*.class ---------------This is README file for Jad - the fast Java Decompiler.Jad home page: http://www.kpdus.com/jad.htmlCopyright 2001 Pavel Kouznetsov (jad@kpdus.com).0. Please read the disclaimer on the Jad home page.1. Installation.Unzip jad.zip file into any appropriate directory on your hard drive.This will create two files: - an executable file named 'jad.exe' (Windows *) or 'jad' (*n*x) - this README fileNo other setup is required.2. How to use JadTo decompile a single JAVA class file 'example1.class' type the following: jad example1.classThis command creates file 'example1.jad' in the current directory.If such file already exists Jad asks whether you want to overwrite it or not.Option -o permits overwriting without a confirmation.You can omit .class extension and/or use wildcards in the names ofinput files.Option -s allows to change output file extension: jad -sjava example1.classThis command creates file 'example1.java'. Be careful when usingoptions -o and -sjava together, because Jad can accidentally overwriteyour own source files.Jad uses JAVA class name as an output file name. For example, if classfile 'example1.class' contains JAVA class 'test1' then Jad will createfile 'test1.jad' rather than 'example1.jad'. If you want to specifyyour own output file name use the output redirection: jad -p example1.class > myexm1.javaOption -d allows you to specify another directory for output files,which are created, by default, in the current directory. For example: jad -o -dtest -sjava *.class (or jad -o -d test -s java *.class, which has the same effect)This command decompiles all .class files in the current directory <

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值