`
vaqeteart
  • 浏览: 304121 次
  • 性别: 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插件是开发者分析和理解已编译Java代码的重要辅助工具,它简化了工作流程,提升了开发效率,尤其对于那些需要深入研究第三方库或者调试无源码项目的人来说,是非常有价值的。

    jad 反编译java 1.6

    Java应用程序通常以字节码(.class文件)的形式存在,这些字节码是人类难以阅读的机器语言。当需要查看源代码或者理解已编译的...而压缩包内的文件则为用户提供了完整的jad反编译环境,包括执行程序和必要的辅助文档。

    jad反编译所需文件

    jad反编译是Java开发者用来查看和理解Java字节码的一种工具,它将.class文件转换回接近源代码的形式。jadclipse是一款集成在Eclipse IDE中的jad反编译插件,使得开发者可以直接在IDE中查看已编译的Java类的源代码,...

    java反编译工具 jad

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

    Java jad 反编译

    总之,Java Jad反编译是一个强大的工具,可以帮助开发者深入了解Java字节码,尽管它可能无法完全恢复原始源代码的所有细节,但在很多情况下,它提供的信息足以帮助我们理解和修改已编译的Java程序。在实际应用中,...

    JAVA反编译工具 JAD

    JAVA反编译工具JAD是Java开发者和逆向工程爱好者常用的一款工具,它能够将已编译的Java字节码(.class文件)转换回源代码格式,使得开发者可以查看和理解原本被编译隐藏的代码逻辑。在软件开发、调试、学习开源库...

    JAD反编译java类

    标题"JAD反编译java类"指的是使用JAD工具对Java字节码进行反编译的过程。JAD支持Java Development Kit (JDK) 1.5及以上的版本,这意味着它可以处理从Java 5到最新Java版本的类文件。这对于那些丢失源代码或想要了解...

    jad反编译工具

    jad反编译工具是软件开发领域中用于逆向工程的重要工具,主要针对Java字节码进行解析和转换为源代码。在Java应用程序的保护和分析过程中,jad起着至关重要的作用。它允许开发者查看和理解已编译的.class文件内部结构...

    myeclipse10jad反编译

    【标题】"myeclipse10jad反编译"涉及的是在MyEclipse 10这个集成开发环境中,使用JAD(Java Decompiler)工具进行反编译的过程,以便查看和理解已编译的Java类文件的源代码。在Java开发中,有时我们需要查看Java标准...

    jad反编译压缩文件

    "jad反编译压缩文件"就是一个专注于这个目的的资源包。 jad是Java Application Decomompiler的简称,它是一款强大的Java反编译器,能够将.class文件转换回可读的Java源代码。jad的使用不仅有助于我们理解已有的二...

    JAD反编译工具

    总的来说,JAD反编译工具是Java开发者和逆向工程领域中一个不可或缺的工具,它提供了对字节码理解的途径,增强了软件开发过程中的可追溯性和可学习性。使用JAD时,需要遵循相关法律法规,并尊重软件知识产权。

    jad.exe java反编译工具

    Java反编译工具,如jad.exe,是程序员在开发和调试过程中非常重要的辅助软件。它允许开发者将已编译的.class文件转换回源代码的.java文件形式,这对于理解已有的二进制代码、查看混淆后的代码或者恢复丢失的源代码来...

    jad 最新版 java反编译工具

    压缩包子文件"jad.exe"很可能是JAD反编译工具的执行文件,用户下载后可以直接运行在Windows操作系统上。而"Readme.txt"通常是提供软件使用说明、版权信息和安装指南等重要细节的文本文件,用户应该仔细阅读以了解...

    Jad 反编译,可以反编译源码

    Jad是Java的反编译工具,它能够将已编译的Java字节码转换回接近原始的源代码,帮助开发者分析、调试或者学习第三方库的内部实现。本文将深入探讨Jad反编译器的使用、原理以及在实际开发中的应用。 一、Jad的介绍与...

    java jad 反编译工具 jad1.5.8g

    Java JAD 反编译工具 Jad1.5.8g 是一个专为Java开发者设计的工具,用于将已编译的.class文件转换回可读的Java源代码。这个工具尤其适用于那些需要查看或理解第三方库的内部工作原理,或者在没有源代码的情况下进行...

    jad反编译插件

    总的来说,jad反编译插件是Java开发中不可或缺的工具之一,它帮助我们洞察那些隐藏在编译后的字节码背后的逻辑,为代码的调试、学习和维护提供了便利。在处理丢失源代码的项目,或是分析第三方库的实现时,jad都发挥...

    JAVA反编译工具JAD

    JAVA 反编译工具 JAD 是一种功能强大的反编译工具,能够将 Java 字节码文件(.class)转换回原始的 Java 源代码(.java)。本文将详细介绍 JAD 的基本用法、Option 选项、输出文件目录等方面的知识点。 一、基本...

    Jad(java反编译工具)

    Java反编译工具Jad是Java开发者在遇到无法获取源代码的情况下,用于将已编译的.class文件转换回.java源代码文件的重要工具。这个过程被称为反编译,它可以帮助我们理解二进制类文件的工作原理,或者恢复丢失的源代码...

Global site tag (gtag.js) - Google Analytics