Java反编译工具Jad的使用
2016-12-15 18:37
295 查看
在学习Java的时候,如果想要看一些编译器搞的小动作,比如说自动帮我们补上无参构造方法或则说泛型中的类型擦除,这就需要我们将字节码(即
大家可以去这里下载jad工具https://varaneckas.com/jad/我下载的是windows版的,下载下来是一个压缩文件,将该压缩文件解压后你可以看到里面有两个文件。一个是
下面就来使用一下
我先将下面代码编译成
然后将该
然后在命令行中敲下命令
然后在该文件夹下就会生成一个
大家可以看到无参构造方法和强制类型转换都是编译器搞出来的。
注意事项
需要注意的是,jad工具和
关于参数的问题,上面的例子中
.class)文件反编译回源代码来查看了。这里我给大家介绍一款反编译工具jad的使用。
大家可以去这里下载jad工具https://varaneckas.com/jad/我下载的是windows版的,下载下来是一个压缩文件,将该压缩文件解压后你可以看到里面有两个文件。一个是
jad.exe,这就是工具。还有一个是
Readme.txt,这是工具的说明文档。
下面就来使用一下
我先将下面代码编译成
.class文件
import java.util.*; public class Main { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(123); Integer result = list.get(0); System.out.println(result); } }
然后将该
Main.class文件复制到
jad.exe所在的文件夹。
然后在命令行中敲下命令
jad -sjava Main.class
然后在该文件夹下就会生成一个
Main.java文件,里面的内容如下
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) // Source File Name: Main.java import java.io.PrintStream; import java.util.ArrayList; import java.util.List; public class Main { public Main() { } public static void main(String args[]) { ArrayList arraylist = new ArrayList(); arraylist.add(Integer.valueOf(123)); Integer integer = (Integer)arraylist.get(0); System.out.println(integer); } }
大家可以看到无参构造方法和强制类型转换都是编译器搞出来的。
注意事项
需要注意的是,jad工具和
java或者
javac一样,也是可以配置到环境变量中的,这样就不用每次都把
.class文件复制到jad工具所在的文件夹下了。
关于参数的问题,上面的例子中
-sjava是必不可少的,这样子才会输出
.java文件,如果去掉这个参数则会生成
.jad文件,更多参数的功能可以参看一下
readme.txt文件。
相关文章推荐
- 使用java反编译工具jad
- 反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)
- 反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]
- java反编译工具eclipse插件jad的使用
- jad反编译工具的使用
- 反编译工具JAD的使用
- java反编译Jad使用
- 反编译工具jad的使用
- ※jakarta-ant的使用(java编译工具)※
- java反编译工具jad
- Eclipse中使用Jad工具自动反编译类
- java反编译工具jad
- BEA WebLogic WorkShop下的反编译工具JAD的安装与使用
- java的class文件反编译工具jad的应用
- jakarta-ant的使用(java编译工具)jakarta-ant的使用(java编译工具)
- java 反编译工具jad使用方法
- Java反编译工具JAD的用法
- jakarta-ant的使用(java编译工具)
- jakarta-ant的使用(java编译工具)
- 几个java反编译工具:dj、jad、FrontEnd Plus、小颖