`
vaqeteart
  • 浏览: 298417 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

[转]jad反编译java

    博客分类:
  • tmp
 
阅读更多
jad 的使用方法
JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。

JAD是使用Microsoft Visual C++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下:

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

-s <ext> - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。

-8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。

最常用的反编译指令如下所示:

Jad -d c:\test -s .java -8 HelloWorld.class

编译一个简单的java class文件'example1.class'用如下命令:

jad example1.class

这个命令将在当前目录下创建一个'example1.jad'文件,假如当前目录下存在这个文件,则JAD会提示你覆盖它与否。
选项 -o 允许覆盖时没有任何提示。
选项 -s <ext>允许改变输出文件的后缀名:

jad -sjava example1.class

这个命令将要创建'example1.java'文件。在一起使用-o 和 -sjava选项时请小心,因为JAD会附带的重写你的源文件。
JAD使用JAVA class的名字作为输出文件的名字。例如,假如class文件'example1.class'包含JAVA class 'test1'那么JAD将会创建文件'test1.jad'而不是'example1.jad'。假如你想具体指明你的输出文件的名字使用输出重命名:

jad -p example1.class > myexm1.java

选项 –d允许你具体指明另外的输出文件目录,不管这个目录是新建的、默认的或者当前目录。例如:

jad -o -dtest -sjava *.class

(或者 jad -o -d test -s java *.class, 这个有同样的效果)

这个命令将在当前目录下反编译所有的.class文件并在'test'文件夹下建立所有扩展名为.java的输出文件。

假如你想反编译整个目录树下的JAVA classes,使用如下命令:

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

这个命令将反编译当前目录树里所有的.class文件并且在当前目录下建立src文件夹后根据包的名字来输出文件。例如,假如有一个文件'tree/a/b/c.class'在包'a.b'下包含了class 'c',那么输出文件的名字为'src/a/b/c.java'。


在先前的命令上将通配符那里注释掉。则它是用JAD来处理而不是command壳,所以在UNIX上的最后一次参数将会被单独引用。

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

以上参考网址:http://bbs.spforum.net/viewthread.php?tid=277906

我在附件里面传了相应的jad工具,运行在linux环境下面。
总结起来,两条命令:
1)反编译单个文件:
#jad -sjava example1.class
这将把文件example.class反编译,生成一个.java文件。

2)反编译整个目录目录:
#jad -o -r -sjava -dsource unzipdir/**/*.class
这将把目录unzipdir下的所有*.class文件反编译并且根据包将编译好的文件存放在source目录下。
分享到:
评论

相关推荐

    jad-java反编译工具eclipse插件

    jad-java反编译工具eclipse插件,jad-java反编译工具eclipse插件

    JAVA反编译工具 JAD

    JAVA反编译工具JAD JAVA反编译工具JAD JAVA反编译工具JAD

    java反编译工具 jad

    对于很多人说jad反编译后中文显示乱码,其实显示的是unicode字符;jad命令中有可以让中文正常显示的 -8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。 最常用的反...

    jad 反编译java 1.6

    反编译软件 支持java1.6版本 java

    jad反编译所需文件

    在eclipse中使用jad反编译所需要的文件,根据自己的eclipse版本选择使用,希望能帮到你

    Mac下的jad: 反编译class文件

    Mac下的jad, 可以用来反编译class文件 完整版 MAC下Java 反编译利器 JD-GUI/Jad/JadClipse MAC下Java 反编译利器 JD-GUI/Jad/JadClipse mac java反编译 Mac 使用Jad 反编译class文件

    JAVA反编译工具JAD

    JAVA反编译工具JAD.doc JAVA反编译工具JAD.doc JAVA反编译工具JAD.doc

    jad java 反编译工具

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

    \java反编译Jad

    \java反编译Jad \java反编译Jad

    eclipse4.3.2安装jad反编译

    eclipse4.3.2安装jad反编译,eclipse jad 反编译 java

    jad.exe java反编译工具

    java反编译工具,将class文件反编译成java文件,方便程序员查看代码

    jad java反编译工具

    jad java的反编译工具,命令行版本

    JAD反编译java类

    JAD.EXE来逐个反编译CLASS文件,使用jad批量反编译,下载包中有具体的使用说明,超爽!

    java反编译工具jad

    在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD。JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,...

    jad反编译压缩文件

    java的反编译软件,主要用来反编译jvm编译后的class文件。文件为一个压缩包,压缩包内包含了jad软件和使用方法。

    Jad(java反编译工具)

    Jad(java反编译工具) (1)把jad.exe和所要反编译的class文件放在同一目录下 (2)执行命令jad -sjava *.class 这样就在该目录下生成了一个java文件

    myeclipse10jad反编译

    myeclipse10 jad反编译配置 配置后可以查看jdk中的java源代码 亲测可用

    jad反编译工具 (jad.exe下载)

    java反编译工具(jad.exe),例子:example1.class 结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件

    经典的java反编译工具 jad

    JAD本身是一个命令行工具,没有图形界面,我之前上传的Cavaj Java Decompiler... 这条指令将当前目录下的javatest.class反编译为javatest.java并保存在D:\javasource目录里,其中的提示输出为中文,而不是Unicode代码。

    jad反编译工具Jad2.2

    1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键...

Global site tag (gtag.js) - Google Analytics