Beyond Compare反编译插件提示转换错误

本文档要解决的问题
Beyond Compare是一款文件差异比较软件,java开发的时候,有时候涉及到把class文件反编译查看源码的需求。但是有时候进行class文件反编译成源码的时候会出现以下异常
在这里插入图片描述

出现这个问题的原因是因为反编译的插件底层是使用jad.exe进行反编译的,jad.exe对高版本的jdk支持的不是很好。

2、插件下载
登录官网:http://www.scootersoftware.com/download.php?zz=kb_moreformatsv4 找到如下的插件,勾选之后进行下载。
在这里插入图片描述
(直接用)云盘链接:https://pan.baidu.com/s/1r7OjDzCabZUW9J72C8nmUQ 提取码:lios
3、插件修改
我们把下载下来的BCFormats.bcpkg插件使用WinRAR软件打开,打开之后发现里面的内容如下
在这里插入图片描述

打开CLASS_to_JAVA.bat查看内容如下:
在这里插入图片描述

从这里可以发现,这个就是调用jad.exe对 class 文件进行反编译,反编译之后的原始内容通过重定向输出流到软件中展示出变异之后的内容,所以从这里我们就可以知道,如果有一个工具可以通过命令行的形式把class文件进行反编译,则我们就可以用这个工具替换jad.exe。幸运的是,procyon-decompiler就是这么一个既支持高版本的jdk又可以通过命令行的形式进行class文件反编译的工具。

4、使用procyon-decompiler代替jad
https://pan.baidu.com/s/1r7OjDzCabZUW9J72C8nmUQ 提取码:lios
java -jar procyon-decompiler-0.5.36.jar Proxy0.class
1
从这里可以看出,这个工具运行需要本机安装jdk。作为java开发人员,这个前置需求几乎可以忽略。
我们使用WinRAR打开工具,把jar包拷贝到插件里面
在这里插入图片描述

然后我们在编辑CLASS_to_JAVA.bat,把内容修改成如下内容:

java -jar Helpers\Java\procyon-decompiler-0.5.36.jar %1 > %2
1
然后Beyond Compare从新安装一下插件,就可以正常进行反编译操作了。
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值