有些时候我们面对一个class文件jar包或者war包,很想知道里面有什么参数,有什么方法,但是又没有文档,又没有源代码,那怎么办呢。
没关系,我们可以反编译这些class文件或jar包或war包。
java的class文件存储的是字节码,这些基本知识在此就不必啰嗦了。反正就是其存储的信息足够可以反编译出来。
我们下载TTools中dist文件夹下的TdeCompile.jar可执行jar包,然后就可以开始反编译工作了。使用方法很简单,在命令行输入命令即可,如下
[plain] view plain
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
java -jar TdeCompile.jar xxx.jar
程序可以自动识别是class文件还是jar或war包,如果是jar包或war包,则首先自动解压缩,解压缩的目录为xxx.jar的同一个目录,然后逐个反编译class文件,在每个class文件的旁边输出一个xxx.class.txt文件。请确保你在jar包所在目录有写权限。
TdeCompile的原理是利用了ASM去读取每一个class文件的信息。
2. JAR反编译修改重新打包的问题
用反编译工具反编译出jar里的class
把反编译出来的内容复制到eclipse中
eclipse中src上右击,export
当然是的 :: 暂时不知道有什么好办法
你要重新打包肯定是要修改其中某个class,不必要全部弄
可以把.jar 改成.zip 两中压缩的格式算法一样,只开始相差四个字节
改成zip后把里面你要改的class这样处理一下再放进去,
然后把后缀还改回来
3. 怎么反编译.jar文件
网络cavaj或者jad,cavaj是单独的exe程序,能把class文件反编译。jad是eclipse插件,需要eclipse开发环境
4. 如何对java的jar包反编译
使用现有的反编译工具或者自己写一个,jar包实际上是class文件打包的,class文件是二进制文件,使用流将class文件读入,然后转为字符再写入到文件中就完成反编译了。不过经过混淆过的jar包好像不能反编译。
5. 如何反编译jar文件
使用dex2jar工具可快速反编译jar文件
6. 我想问下打包解包jar与编译反编译jar意思一样吗
jar其实就是Zip格式的压缩包,打包/解包,其实就是压缩本质上就是压缩与解压缩,包内的文件是Class文件编译/反编译 就不一样了,是把Java源文件与Class文件相互转换.
7. 在命令行下,如何使用JAD反编译jar文件 转
操作方法如下:
1)首先使用jar命令将jar文件解压缩到classes目录(假设已经设置好了CLASSPATH等,jar.exe是放在jdk的bin目录下的)
CMD>jar -xvf test.jar -C classes
2)然后使用jad命令对上面产生的classes目录进行反编译
CMD>[jad_home]/jad.exe -r -ff -d src -sJavaclasses/**/*.class
含义如下:
其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名。
所有的java文件将会被放置到src目录下。
8. java 怎么把jar 文件反编译
这个很简单,把jar包碃孩百绞知悸版溪保娄反编译这个你应该知道了,很多工具jd gui就是不错的一个,然后,你用Eclipse等工具把你反编译的文本贴到java文件中。
这时肯定有编译错误,你可以把你软件中的jar包都引为classpath下。
编译通过后,就可以去取.class文件了再放回jar包中原有的目录。
全部搞定。
~如果你认可我的回答,请及时点击【采纳为满意回答】按钮
~~手机提问的朋友在客户端右上角评价点【满意】即可。
~你的采纳是我前进的动力
~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。
9. jar包如何反编译
使用jd-gui工具打开原始的Jar包,选择File-->Save All Sources,会生成一个zip压缩包。解压这个压缩包,就可以得到java源码文件