我正在做类似 CTF 的挑战。其中一项任务需要我们将Python 字节码 3.8(.pyc 文件)反编译为 py 文件。但是,pyc 文件生成的 py 文件是 0 字节原始文件名是flag.py
我的程序。
重命名文件:
flag.py
->flag.pyc
使用
uncompyle6
工具并输入命令:uncompyle6 flag.pyc > flag.py
它将生成
flag.py
文件,但它是0 字节。而几个小时后,它仍然是0字节。如果我通过键盘中断命令行工具,
flag.py
文件将有注释:
uncompyle6 version 3.6.6
Python bytecode 3.8 (3413)
Decompiled from: Python 3.8.0
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
Embedded file name: flag.o.py
Compiled at: 2020-04-24 16:09:51
Size of source mod 2**32: 2476187 bytes
我的环境是 MacOS,Python 3.8.0。
.pyc 文件很小,我已经检查了文件头的幻数,它是 Python 3.8.0。这个pyc文件的不寻常之ff 00
处在于文件末尾有几千个。
55 0d 0d 0a 00 00 00 00
...
ff 00 ff 00 ff 00 ff 00
...
ff 00 ff 00 ff 00 ff 00
b9 01 0c 06 0a 01 08 01
有什么建议?