我正在尝试在以下github项目中使用代码:https://github.com/Katharsis/unfrozen_binary

当我尝试运行脚本时:python unfrozen_binary_cx_Freeze.py

我收到以下错误:

File "/path/to/file/unfrozen_binary-master/common.py", line 20, in <module>
    from decompilers.uncompyle2 import uncompyle_file
ImportError: No module named decompilers.uncompyle2


我检查了common.py并导入了uncompyle包,如下所示:

if python_version[0] == 3:
    from decompilers.unpyc3.unpyc3 import dec_module
elif python_version[0] in (1, 2):
    from decompilers.uncompyle2 import uncompyle_file
    from decompilers.uncompyle2 import Walker


没有可用的反编译程序包。

但是,我已经安装了uncompyle2,因此,仅在使用Python版本2.7时,我才编辑了上面的代码以使用uncompyle2。

现在,即使同时安装了uncompyle2和uncompyle6,我仍然收到uncompyle2的ImportError。甚至用pip show命令确认了这一点。

>>> import uncompyle2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named uncompyle2
>>> import uncompyle6
>>>


但是,pip show命令显示已安装uncompyle2:

$ pip show uncompyle2
Name: uncompyle2
Version: 2.0.0
Summary: Python byte-code to source-code converter
Home-page: https://github.com/rocky/python-uncompyle6
Author: Hartmut Goebel
Author-email: [email protected]
License: MIT
Location: /usr/local/lib/python2.7/dist-packages
Requires: uncompyle6


有谁能够使上述github项目正常工作?

请告诉我。

谢谢。

最佳答案

您的部分问题是我在做的事情:通过uncompyle2的pip安装,现在您正在获得uncompyle6,而不是uncompyle2。

做出此决定是因为在完成此操作时,没有人愿意维护uncompyle2的任何分支。 pypi上的uncompyle2的打包程序不是作者之一,只是一个打包程序。因此,对他而言,这确实是一个无法维持的局面。

如果有人想加强并维护uncompyle2,他们可以与我联系,我会将uncompyle2转让给其他人。 uncompyle2的最佳维护版本似乎是the one under the wibiti account

如果您是从github源安装的,则在unfreeze_binary代码中将from decompilers.uncompyle2 import更改为from uncompyle2 import

我看到您打开了一个问题with the project in question.。那很好!但是,由于这似乎是唯一一个已打开的问题,并且此问题已在不久前打开,因此这表明项目像许多只处理Python 3.3的uncompyle2分支和unpyc3一样死了。 (许多python软件包,例如pip,最近都告诉我它们不再支持Python 3.3,所以我怀疑unpyc3在当今是否很有用)

unfrozen_binary项目的最后一次提交是在4年前。因此,鉴于其较低的github评级,缺乏提交和支持,我会期待其他问题。

就是说,所有这些都是开源的,所以我想你或其他人可以分叉代码并使它重新工作。如果您这样做,我建议您使用uncompyle6,它支持许多Python版本,包括2.7、3.3和当前的3.x版本。为此,您可以使用from decompilers.uncompyle2 import代替from uncompyle6 import

09-06 23:59