提问人:FuzzkingCool 提问时间:5/4/2015 更新时间:8/21/2018 访问量:4014
如何从受密码保护的 zip 运行 python 脚本
How to run a python script from a password protected zip
问:
我知道 python 模块/脚本可以从 zip 存档中运行,如下所述:https://www.python.org/dev/peps/pep-0441/ 和 https://blogs.gnome.org/jamesh/2012/05/21/python-zip-files/
但我的问题是:
是否可以对这个存档或 .pyz 文件进行密码保护,并使用另一个小的 python 脚本运行它,该脚本将发送密码,然后运行 ?__main__.py
谢谢!
答:
3赞
GHugo
5/4/2015
#1
管理导入的代码位于模块内部。
读取存档是在函数 getdata
中完成的,它假设文件通过解压缩是未加密的(请参阅此处)。zipimport
所以不,不幸的是,似乎不可能直接从命令行使用加密文件。但是,您可以想象一个使用 importlib(示例)执行此操作的包装器。
3赞
Dakkaron
8/21/2018
#2
我自己需要这样的东西,所以我做到了。您需要在此处找到的模块:https://github.com/Dakkaron/ArchiveImporter
然后你可以像这样使用它:
python ArchiveImporter.py [zipfile] [-p=password] [args...]
适用于 Python2 和 Python3。
该模块也可以在代码中使用:
# First import the ArchiveImporter module
import ArchiveImporter
# Then add the password encrypted file you want to import from using addZip(zippath, password)
ArchiveImporter.addZip("test.pyz", "password")
# Now import modules from the archive as usual
import testmod
评论