解压缩PyInstaller打包文件

时间:2017-06-28 10:16:31

标签: python

我目前有一个PyInstaller打包的Elf文件,我希望将其解压缩到原始的.py文件中。我一直在使用PyInstaller Extractor,但它似乎告诉存档不是PyInstaller存档。

以下是我一直在做的事情的例子:

$ cat main.py
#! /usr/bin/python3
print ("Hello %s" % ("World"))

我使用以下命令将其打包到文件dist/main/main中:

pyinstaller main.py

输出文件:

$ file dist/main/main
dist/main/main: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=373ec5dee826653796e927ac3d65c9a8ec7db9da, stripped

现在,当我想打开包装时:

$ python pyinstxtractor.py dist/main/main
[*] Processing dist/main/main
[*] Error : Unsupported pyinstaller version or not a pyinstaller archive

我不明白为什么文件无法解压缩,而我正在浏览许多帖子,告诉我这应该是可能的,而且我开始怀疑它。

实际上是否可以解压缩ELF文件? 我是马上做的吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

根据sourceforge page,此脚本仅适用于Windows二进制文件。有一个archive_viewer.py脚本与pyinstaller本身一起分发,允许查看二进制内容并将其解压缩。如果您在提取后收到.pyz文件,请再次使用archive_viewer.py。 IIRC,毕竟你将获得.pyc个文件,这些文件必须被反编译。

在我的系统(Manjaro Linux)上,我在/lib/python3.6/site-packages/PyInstaller/utils/cliutils

找到了这个脚本

安装到全球翻译后,它也可以pyi-archive_viewer/usr/bin/pyi-archive_viewer)使用。