【问题标题】:Python decompile PYC file with references to other filesPython 反编译 PYC 文件并引用其他文件
【发布时间】:2020-11-29 21:36:38
【问题描述】:

我的文件已损坏,我唯一的备份位于 pychache 文件夹中。我曾尝试使用 uncompyle6,但它给出了如下所示的错误。我不确定这是什么原因,但我假设这是因为它引用了其他文件中的变量或函数。如何反编译引用其他文件的文件?

Parse error at or near `POP_EXCEPT' instruction at offset 1476

        @osutracker.before_loop
        async def before_printer(self):
            print('waiting...')
            await self.bot.wait_until_ready()

# file osu.cpython-38.pyc
# Deparsing stopped due to parse error

文件:https://cdn.discordapp.com/attachments/437091189792047125/782360883861913640/osu.cpython-38.pyc

【问题讨论】:

  • 为什么不尝试在沙盒环境中生成一个新的 pyc,看看 uncompyle6 如何处理对其他文件的引用。也许那些其他文件必须可用于 uncompyle6?

标签: python pyc


【解决方案1】:

我现在通过将 unncompyle6 与 cpython-37 而不是 -38 一起使用来解决此问题。我不确定为什么会这样,因为 uncompyle6 应该支持 3.9 之前的所有 python 版本,但它确实有效。

【讨论】:

  • 您是否曾经使用谷歌翻译将相同的文本翻译成几种不同的语言,并注意到某些语言的某些翻译可以工作,而另一些语言则不能。即使谷歌翻译应该支持这些不同的语言?差不多就是这里了。
猜你喜欢
  • 2021-06-07
  • 1970-01-01
  • 2022-08-24
  • 2011-07-14
  • 2016-04-15
  • 1970-01-01
  • 2019-03-19
  • 1970-01-01
相关资源
最近更新 更多