Uncompyle2 问题:数组索引必须是整数

Uncompyle2 issue: array indices must be integers

我在尝试反编译 .pyc 文件时遇到问题。

追溯如下:

Traceback (most recent call last):
  File "my.py", line 4, in <module>
    uncompyle2.uncompyle_file("/home/user/Downloads/asd.pyc", fileobj)
  File "/home/user/Desktop/uncompyle2/uncompyle2/__init__.py", line 130, in uncompyle_file
    uncompyle(version, co, outstream, showasm, showast, deob)
  File "/home/user/Desktop/uncompyle2/uncompyle2/__init__.py", line 93, in uncompyle
    tokens, customize = scanner.disassemble(co, deob=deob)
  File "/home/user/Desktop/uncompyle2/uncompyle2/Scanner.py", line 214, in disassemble
    cf = self.find_jump_targets(code)
  File "/home/user/Desktop/uncompyle2/uncompyle2/Scanner.py", line 926, in find_jump_targets
    self.detect_structure(i, op)
  File "/home/user/Desktop/uncompyle2/uncompyle2/Scanner.py", line 737, in detect_structure
    if int(self.code[jmp]) == RETURN_VALUE:
**TypeError: array indices must be integers**

对此有什么想法吗?

我在 Ubuntu 机器上使用 Python 2.7.6。

我 运行 执行此工作的命令如下:

uncompyle2 asd.pyc

//编辑:据我所知,这只发生在特定文件上(asd.py)。它适用于其他文件。

任何解决方法?

您尝试反编译的 .pyc 文件可能被混淆了。 uncompyle2 也不是对文件进行反混淆的工作。

尝试其他类似 pyc2py 的方法。也许它会起作用。