1.       安装

解压缩jad.zip包,并把它放在你硬盘的某个目录下。将会创建两个文件       jad.exe和readme.txt文件,不需要其他的安装文件

2.       怎样去用jad

如果要简单的反编译一个.class文件的话,用以下命令 jad example1.class这个命 令在当前文件夹下创建了一个example1.jad文件如果jad文件已经存在的话,会提示你是否要覆盖这个jad文件

-o 允许你直接覆盖掉以前存在的jad文件

-s 允许你改变输出文件的扩展类型,如下所示将输出文件类型变成 *.java

jad -sjava example1.class

这个命令创建了一个example1.java文件

要注意的是连用-o,-s命令,可能会将你自己的源文件也覆盖掉的

jad用class自己的名字作为一个输出文件的名字,比如如果'example1.class'包含一个test1的类就会创建一个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文件目录下

如果你想反编译tree目录下的所有*.class文件,用下面的命令

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

这个命令反编译了tree目录下所有*.class文件,将输出文件以*.java的形式

放置到src目录下

注意到**了吗?在unix可以表示为:

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

如果你想测试一下反编译的精确度的话,用-a

jad支持所有内部和匿名的类

3.       命令行选择的列表

-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)

-pi -在 的导入之后将其他引用包裹成一行导入 (default: 3)

-pv -将同类型的成员包裹成一行 (default: no)

-pa - 在生成源代码时将所有的包加前缀

-pc - 用数字名字给所有的类加前缀 (default: _cls)

-pf - 用数字名字给所有的成员变量加前缀 (default: _fld)

-pe -给没有用到的异常的名字加前缀

-pl - 给局部变量用数字名字加前缀 (default: _lcl)

-pm -给方法用数字名字加前缀 (default: _mth)

-pp - 给方法的参数用数字名字加前缀 (default: _prm)

-r          - 恢复包的目录结构

-s - 指定输出文件的类型 (by default '.jad')

-space      -遇到关键字(if/for/while/etc)输出空格和表达式 (default: off)

-stat       - 显示所有的类,方法,成员变量的总数

-t          - 用tabs代替空格对于边缘

-t     -用 个的空格 (default: 4)

-v          - 正在反编译的时候 显示方法的名字

-8          - 将 UNICODE strings 转换成 8-bit strings

用当前的 ANSI 码页 (Win32 only)

-&          - 重新定向 STDERR to STDOUT (Win32 only)

jad反编译成java,反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)...相关推荐

  1. python代码编译成pyd_python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用...

    python执行py文件的流程 当我们执行一个py文件的时候,直接python xx.py即可,那么这个流程是怎么样的呢.先说明一下,python执行代码实际上是先打开文件然后执行里面的代码,所以文件 ...

  2. python源码不需要编译成二进制代码_编译 Python 源代码

    为什么可以/需要编译 通常在 Windows 下安装软件,只需要下载可执行文件,一直下一步就可以完成安装.而 Linux 下,你可以获取软件的源代码,自行编译生成可执行文件进行安装.用源代码有什么好处 ...

  3. gc java ibm_gc分析工具(IBM Pattern Modeling and Analysis Tool for Java Garbage Collector)

    分析WAS产生的GC Log的工具,打开详细垃圾回收产生gc log日志文件native_stderr.log 和 native_stdout.log .做gc调优目标,就是减少gc频率和耗时,以及减 ...

  4. php编译成jphp,php编译脚本安装

    #!/bin/bash # File Name: phpInstall.sh # Author: hanye131 # Email: hz7726@163.com # Version: # Creat ...

  5. java 网站统计工具_基于B/S模式下的JAVA网站流量统计系统

    今日思考,完成一个网站流量统计系统项目,需要实现哪些功能? 此类项目常见描述如下: 传统的网站只是在页面上使用计数器进行简单的访问者数量的统计.随着网站运营规模的扩大,依靠这种简单的数量统计并不能真正 ...

  6. Java反编译工具-JD-GUI解决直接打开.class文件卡顿问题

    场景 Java反编译工具JD-GUI目前是1.4.0 下载以及安装参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/84317 ...

  7. python编译成exe和exe反编译成python

    先看文章概要.再看左侧目录,可准确找到需要内容 文章概要:python文件可编译成exe文件,exe文件也可通过反编译恢复为python文件.下面简单介绍如何生成exe和恢复python python ...

  8. java源文件编译成jar_从源文件和JAR文件构建Java代码模型

    java源文件编译成jar 最近,我花了一些时间来研究有效java ,该方法正在GitHub上达到300星(可以免费帮助实现目标:D). Effectivejava是在您的Java代码上运行查询的工具 ...

  9. 词法分析器java_Java代码到底是如何编译成机器指令的。

    原文地址:https://mp.weixin.qq.com/s/XH-JajAne0O7_yCYE5wBbg 作者:Hollis 在<Java代码的编译与反编译>中,有过关于Java语言的 ...

  10. java语言 编译原理_【Java学习】深入分析Java的编译原理

    在<Java代码的编译与反编译>中,有过关于Java语言的编译和反编译的介绍.我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件.这是我们通常 ...

最新文章

  1. Linux安装Oracle11G
  2. SQL Cookbook:二、查询结果排序(1)以指定的次序返回查询结果
  3. Redmi Note10系列配LCD居中挖孔屏:5月26日正式发布
  4. Maven: git-commit-id-plugin插件
  5. 软件测试中的二八定律到底是什么?
  6. 计算机调用计算器快捷键,电脑计算器快捷键 电脑计算器快捷键如何设置
  7. STM32MP157网络环境 TFYPNFS搭建手册-学习记录
  8. CSS揭秘:5.条纹背景(上)
  9. c语言s型曲线方程,电机控制 | S曲线加减速
  10. 如何利用LaTex的写毕业论文
  11. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——第3章 数据流 3.1同步数据流...
  12. 红米路由器ac2100怎样设置ipv6_红米(Redmi)路由器AC2100怎么设置
  13. GOPS2018 | 华为云运维最佳CP引领AIOps新风向
  14. Python3:好玩游戏的物品清单 和 列表到字典的函数
  15. 数字经济的发展需要包括区块链在内的八大技术的支撑360云储
  16. 【厚积薄发系列】C++项目总结8—全自动和半自动随机生成中文字符串
  17. 简易的HTML网页设计
  18. 关于使用listFile()遍历文件夹报空指针异常的问题
  19. 【LEDE】x86软路由之路-03-挂载移动硬盘?
  20. EXCEL自定义菜单,做插件必备。

热门文章

  1. Centos7设置SSH安全策略–指定IP登陆
  2. 遥感影像处理——遥感影像处理全流程
  3. matlab半波整流怎么做,基于Matlab的单相半波可控整流电路的设计与仿真.doc
  4. C语言 递归求20的阶乘
  5. 操作系统教程答案(谢旭升,朱明华版)
  6. 小波分析工具包 matlab,matlab小波工具箱下载|
  7. Hbase 命令及配置文件
  8. 【小技巧】2345——劫持IE浏览器主页
  9. 使用CSS控制表单样式/示例演示
  10. 转录组:STAR-Fusion融合基因