我在尝试 Uncompyle6 时遇到此错误
uncompyle6 main.pyc
:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\user\AppData\Local\Programs\Python\Python311\Scripts\uncompyle6.exe\__main__.py", line 4, in <module>
File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\xdis\std.py", line 73, in __init__
self.opc = opc = get_opcode_module(python_version, variant)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\xdis\op_imports.py", line 174, in get_opcode_module
return op_imports[canonic_python_version[vers_str]]
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: '3.11.2'
所以,我尝试了 Decompyle3。然而,我遇到了同样的错误。我尝试了 Decompyle3,因为“它接受来自 Python 3.7 版本的字节码”。我正在使用 Python 3.11。
那么,如果这不起作用,那我该怎么办???
PS:还有其他软件可以做到这一点吗?我认为我的 Python 版本有问题。
我在这里可能是错的,但我相信 KeyError: 3.11.2 意味着 decompyle6 不支持(至少还不支持)该版本的 python。我知道它可以工作到 python 3.8.x
您可以在此处查看更多信息:https://github.com/rocky/python-decompile3/issues/45
将 pyenv 用于较旧的 python 版本,例如 3.7、3.8....,
pyenv install 3.8.0
。
现在可以全局或本地设置,
pyenv global 3.8.0
。
如果重新启动不起作用,现在要在终端上实现它,
source ~/.bashrc
。
检查,
python --version
。
最后安装uncompyle6,
pip install uncompyle6
。
现在为了让它发挥作用,
uncompyle6 _pycFileHere_
。
还有 BOOMMMMMMM!!!