如何快速反编译JAVA的jar包或war包
2016-03-30 15:56
399 查看
有些时候我们面对一个class文件jar包或者war包,很想知道里面有什么参数,有什么方法,但是又没有文档,又没有源代码,那怎么办呢。
没关系,我们可以反编译这些class文件或jar包或war包。我们用到下面这个工具,
https://github.com/Supermax197/TTools
java的class文件存储的是字节码,这些基本知识在此就不必啰嗦了。反正就是其存储的信息足够可以反编译出来。
我们下载TTools中dist文件夹下的TdeCompile.jar可执行jar包,然后就可以开始反编译工作了。使用方法很简单,在命令行输入命令即可,如下
[plain]
view plain
copy
java -jar TdeCompile.jar xxx.class
注意如果你不在TdeCompile的同目录下,需要写上TdeCompile.jar的路径,其次跟一个参数xxx.class,xxx代表你所要反编译的文件的文件名。输出即是xxx.class.txt,它是反编译过后的文件,txt文本格式,所在目录通xxx.class。请确保你在xxx.class目录下有写权限。
我们也可以直接操作一个jar包或war包。如:
[plain]
view plain
copy
java -jar TdeCompile.jar xxx.jar
程序可以自动识别是class文件还是jar或war包,如果是jar包或war包,则首先自动解压缩,解压缩的目录为xxx.jar的同一个目录,然后逐个反编译class文件,在每个class文件的旁边输出一个xxx.class.txt文件。请确保你在jar包所在目录有写权限。
TdeCompile的原理是利用了ASM去读取每一个class文件的信息。
没关系,我们可以反编译这些class文件或jar包或war包。我们用到下面这个工具,
https://github.com/Supermax197/TTools
java的class文件存储的是字节码,这些基本知识在此就不必啰嗦了。反正就是其存储的信息足够可以反编译出来。
我们下载TTools中dist文件夹下的TdeCompile.jar可执行jar包,然后就可以开始反编译工作了。使用方法很简单,在命令行输入命令即可,如下
[plain]
view plain
copy
java -jar TdeCompile.jar xxx.class
注意如果你不在TdeCompile的同目录下,需要写上TdeCompile.jar的路径,其次跟一个参数xxx.class,xxx代表你所要反编译的文件的文件名。输出即是xxx.class.txt,它是反编译过后的文件,txt文本格式,所在目录通xxx.class。请确保你在xxx.class目录下有写权限。
我们也可以直接操作一个jar包或war包。如:
[plain]
view plain
copy
java -jar TdeCompile.jar xxx.jar
程序可以自动识别是class文件还是jar或war包,如果是jar包或war包,则首先自动解压缩,解压缩的目录为xxx.jar的同一个目录,然后逐个反编译class文件,在每个class文件的旁边输出一个xxx.class.txt文件。请确保你在jar包所在目录有写权限。
TdeCompile的原理是利用了ASM去读取每一个class文件的信息。
相关文章推荐
- spring+hibernate+jpa+Druid的配置文件,spring整合Druid
- Java线程安全
- java多线程-使用ReadWriteLock同步数据访问
- Java基础------知识点整理(九)-----异常
- eclipse 设置 build 的时候过滤 js
- spring+dubbo整合
- 反编译 Eclipse 中的class文件
- 阿里云ubuntu环境搭建java-web环境
- JavaSe基础(14)-- 对象的转型 向上转型 向下转型
- JAVA笔记(1)
- JavaSe基础(13)--多态
- Hibernate+spring+struts1的整合
- java中的序列化和反序列化
- 获取java类和方法名
- JavaSe基础(12)--多态(精练)
- JavaSe基础(11)-- static
- JAVA 发送是手机短信,一般是手机验证码较多
- JavaSe基础(10)-- final
- eclipse最有用快捷键整理
- javaweb学习总结(二十一)——JavaWeb的两种开发模式