procyon 编译手册

10 篇文章 0 订阅
1 篇文章 0 订阅

前言

procyon 是比较好的jar、class 反编译工具,但作者在编译上面言之过少,导致像我等小菜搞个Build都要折腾半天,这里分享一下 procyon的Build过程,大家少走点弯路。


价值

procyon 相对其他的反编译软件,反编译出来的java源码可读性更高。
 
各个反编译软件都会有其局限性,并不完美,procyon也有问题。

问题

这里有个问题,用procyon 处理的反编译文件,如果代码中包含try...catch 则很有可能出现下面这种恶心的情况。大家在使用时,可以结合其他的反编译软件灵活使用。(哪位大大知道如何解决这个问题还请不吝赐教)
 

前置工具

1. maven 3.2.5 或以上版本


编译

源码地址:https://bitbucket.org/mstrobel/procyon
点Downloads 选择 Download repository 也就是下载最新的源码打包文件。
(下面列表中有已经编译好的 jar 包,不想编译的同学直接下载使用就行了)
注意官方文档中的这句话
 
就这一句话就给带过了 = =
直接google Maven Central 打开 maven.org 搜索 procyon 注意不是文档中给出的 org.bitbucket.mstrobel 关键字,那个已经过时了!找到 org.jboss.windup.decompiler 把它的pom 文件保存到我们解压源码的目录 Procyon.Decompiler 目录下面,命名为 pom.xmls
 
项目还依赖 jcommander 包,直接下载 https://github.com/cbeust/jcommander/releases
解压后把 com 文件夹下的内容复制到 Procyon.Decompiler 的 com 文件夹下。
同样的把本地同级的 Procyon.CompilerTools、Procyon.Core、Procyon.Expressions、Procyon.Reflection 文件夹下的 com 目录下的文件都复制过去。(我对maven的理解不深哈,实际Build可能不用这一步的复制,哪位maven大神看到了还望不吝赐教啊)
cmd 到当前目录,运行 mvn compile 和 mvn package,如果一切顺利则会在 target 目录下生成 decompiler-procyon-2.6.0.Final.jar 就是我们的目标文件了。
此时jar 包清单文件还没有指定Main-Class 文件,打开jar 包找到MANIFEST.MF文件,加入下面内容 Main-Class:  com.strobel.decompiler.DecompilerDriver<回车>
到此编译就算完成了。


使用

java -jar decompiler-procyon-2.6.0.Final.jar -jar <要反编译的jar包.jar> -o <保存目录>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值