我目前有一个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文件? 我是马上做的吗?
感谢您的帮助。
答案 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
)使用。