首页 > 解决方案 > 使用 Uncompyle6 反编译 PYC 文件得到 AssertionError

问题描述

我正在尝试从 pyinstaller exe 中恢复原始 python 脚本。我能够从 exe 中提取文件并获得幻数。根据我的阅读,主 .py 文件(在没有后缀的提取文件夹中找到)只需要重命名为 main.pyc 并且附加的幻数应该可以工作。我按照这些说明进行操作,但我的问题是其他 .pyc 文件(在 PYZ-00.pyz_extracted 中找到)在我尝试使用 uncompyle6 反编译它们时都会出错 - 即使我附加了幻数。我得到的错误是:

未知类型 0

回溯(最近一次通话最后):

_run_module_as_main 中的文件“c:\users\hahenry\anaconda3\lib\runpy.py”,第 194 行

return _run_code(code, main_globals, None,

_run_code 中的文件“c:\users\hahenry\anaconda3\lib\runpy.py”,第 87 行

exec(code, run_globals)

文件“C:\Users\hahenry\Anaconda3\Scripts\ uncompyle6.exe_main_.py ”,第 7 行,在

文件“c:\users\hahenry\anaconda3\lib\site-packages\uncompyle6\bin\uncompile.py”,第 193 行,在 main_bin

result = main(src_base, out_base, pyc_paths, source_paths, outfile,

文件“c:\users\hahenry\anaconda3\lib\site-packages\uncompyle6\main.py”,第 316 行,在 main

deparsed = decompile_file(

文件“c:\users\hahenry\anaconda3\lib\site-packages\uncompyle6\main.py”,第 208 行,在 decompile_file

decompile(

反编译中的文件“c:\users\hahenry\anaconda3\lib\site-packages\uncompyle6\main.py”,第 83 行

assert iscode(co)

断言错误

标签: python

解决方案


推荐阅读