Jar包反编译

工具1:jad

下载地址:https://varaneckas.com/jad/
比如我现在有个jar包,struts2-core-2.3.16.3.jar

当前所在目录为D:/mylib,在当前目录启动cmd,执行

jad -o -r -ff -dtest -sjava struts2-core-2.3.16.3/**/*.class
-o表示反编译后遇到同名文件直接覆盖(默认会询问)
-r表示反编译后的文件,保持原有的目录结构
-ff表示反编译的class文件里字段位于方法前面(默认字段位于方法后面)
-d表示反编译内容的输出目录
-s表示反编译生成的文件的后缀
**表示匹配struts2-core-2.3.16.3目录树下的所有以class为后缀的文件

不足是:里面也有一些编译不出来的部分,对于比较简单的单文件没有问题。
参考链接:https://blog.csdn.net/huangdengji/article/details/84834789

工具2:fernflower(推荐)

jad需要将jar解压后,然后再反编译;fernflower是直接指定要编译的jar位置,然后直接输出反编译后的jar包

下载地址:http://the.bytecode.club/fernflower.jar

以前面提到的情况为例

java -jar D:/short/jar/fernflower.jar struts2-core-2.3.16.3.jar test/rem
1.如果fernflower.jar和struts2-core-2.3.16.3.jar在同一目录下,就写成rem java -jar fernflower.jar struts2-core-2.3.16.3.jar test/rem
2.test目录可以不用事先创建

参考链接:
https://blog.csdn.net/zz121822/article/details/79816068
https://github.com/fesh0r/fernflower
http://www.javadecompilers.com/ 在线反编译jar包

转载自:https://blog.csdn.net/u010999809/article/details/87649060

发布了16 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38308549/article/details/103808158
今日推荐