先安装pyinstaller
pip install pyinstaller -i https://pypi.douban.com/simpl
写一个简单的脚本:
print 'hello,world'
pyinstaller基本用法,常用的可选参数如下:
--onefile 将结果打包成一个可执行文件
--onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
--paths=DIR 设置导入路径
--distpath=DIR 设置将打包的结果文件放置的路径
--specpath=DIR 设置将spec文件放置的路径
--windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
--nowindowed 使用控制台子系统执行(默认)(只对windows有效)
--icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效)
pyinstaller --onefile --nowindowed one.py #用pyinstaller生成可执行文件
会在one.py的目录下生成一个dist文件夹,文件夹里有one.exe
那我们怎么把exe还原为py文件呢
我们用pyinstaller的archive_viewer.py C:\Python27\Lib\site-packages\PyInstaller\utils\cliutils\archive_viewer.py 路径根据你的python更改
python archive_viewer.py one.exe(替换成你自己的exe文件路径)

可以看到他反编译出了很多模块,其中one是我们想要的
我们用x one提取出来,命名为one.pyc
但此时one.pyc的前8个字节是被删了的,我们要补回来
前四个字节为python编译的版本,后四个字节为时间戳,时间戳可以任意,编译器版本python2.7 为03 f3 0d 0a,python3.4 为ee 0c 0d 0a

前面8个字节是我添加的
用easy python decompiler还原pyc,会生成一个one.pyc_dis

还原成功
PyInstaller生成与还原可执行文件教程

博客介绍了使用PyInstaller的相关操作。先通过pip安装PyInstaller,利用其基本用法生成可执行文件,会在指定目录下生成dist文件夹及exe文件。还讲解了将exe文件还原为py文件的方法,包括使用archive_viewer.py反编译、补全pyc文件前8个字节,最后用easy python decompiler还原。
1244

被折叠的 条评论
为什么被折叠?



