使用uncompyle6反编译pyc文件并解决KeyError和Error: uncompyle6 requires Python 2.6-3.8

1. 安装uncompyle6

pip install uncompyle6

2. 反编译文件指令

uncompyle6 xxx.pyc > xxx.py

此处如果成功生成对应的py文件就不用往下看了,如果你的py文件是空文件,并且报KeyError的错误,请继续往下看

3. 解决报错KeyError

找到文件magics.py,我的是在\Python311\Lib\site-packages\xdis目录下,打开文件找到add_canonic_versions,添加你当前使用的Python版本号

添加前

添加后

修改完成后运行反编译指令,大概率会出现一个新的错误

Error: uncompyle6 requires Python 2.6-3.8

4. 解决Error: uncompyle6 requires Python 2.6-3.8

找文件uncompile.py,我的是在\Python311\Lib\site-packages\uncompyle6\bin下,参考这个路径去找

打开文件找到main_bin方法,添加对应的Python版本号,比如我的是3.11,就添加(3, 11)

修改完成后再运行反编译指令就没问题了

作者:海亮啊

物联沃分享整理
物联沃-IOTWORD物联网 » 使用uncompyle6反编译pyc文件并解决KeyError和Error: uncompyle6 requires Python 2.6-3.8

发表回复