【问题标题】:How to use Procyon Decompiler with Diffoscope如何将 Procyon 反编译器与 Diffoscope 一起使用
【发布时间】:2018-07-06 19:33:59
【问题描述】:
我在 Ubuntu Bionic 上运行 Diffoscope,当我打开调试日志 (--debug) 时,我注意到很多这样的行(JAR 中每个 .class 文件一个):
diffoscope.comparators.java: Unable to find ProcyonDecompiler. Falling back...
我安装了包procyon-decompiler,但错误仍然存在。如何使 Diffoscope 与 Procyon 一起使用?我找不到有关此集成的任何文档!
【问题讨论】:
标签:
java
diff
binary-reproducibility
【解决方案1】:
通过阅读diffoscope 的Python 源代码,我发现diffoscope 期望路径中有一个名为procyon-decompiler 的可执行文件。
/usr/lib/python3/dist-packages/diffoscope/comparators/java.py:L40:
@tool_required('procyon-decompiler')
def cmdline(self):
return ['procyon-decompiler', '-ec', self.path]
在 Ubuntu Bionic 中,procyon-decompiler 软件包将 Procyon 安装为 procyon 而不是 procyon-decompiler。我通过创建符号链接完成了这项工作。例如:
ln -s /usr/bin/procyon ~/.local/bin/procyon-decompiler