java 反编译

工具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

以前面提到的情况为例

 
  1. java -jar D:/short/jar/fernflower.jar struts2-core-2.3.16.3.jar test/

  2. rem 1.如果fernflower.jar和struts2-core-2.3.16.3.jar在同一目录下,就写成

  3. rem java -jar fernflower.jar struts2-core-2.3.16.3.jar test/

  4. rem 2.test目录可以不用事先创建

参考链接:https://blog.csdn.net/zz121822/article/details/79816068

https://github.com/fesh0r/fernflower

 

http://www.javadecompilers.com/ 在线反编译jar包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值