date: 2023-03-30 type: ctf alias: author: title: tags:
- ctf
- crypto
[[python打包]]
如何讲python文件打包成exe文件呢?利用pyinstaller就可以了。
PyInstaller是一种将Python程序转化为独立执行文件的工具。其主要原理是将Python脚本代码和相关的资源文件打包到一个可执行文件中,并通过解压缩操作在运行时将这些文件解压出来,然后执行其中的Python代码。其打包过程主要分为以下几个步骤:
1、解析和分析Python脚本代码,识别出脚本的依赖项以及相应的引用路径;
2、找到并收集依赖项的所有相关文件和资源,并将它们一起打包为一个可执行文件;
3、将Python解释器和所有脚本以及资源文件一起打包为一个二进制可执行文件;
4、执行可执行文件时进行解压缩操作,将所有资源文件和Python脚本解压到临时目录中;
5、然后用Python解释器运行程序脚本并完成执行过程。
pyinstall提供两种打包方式:
- 打包成一个文件夹
pyinstaller -D test.py
- 打包成一个单独的文件
pyinstaller -F test.py
如果要将打包后的exe文件还原成py文件,可以使用下面的项目进行还原:
GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor
使用方法很简单:
$ python pyinstxtractor.py <filename>
X:\>python pyinstxtractor.py <filename>
上述代码提取为pyc文件,然后对pyc文件进行转码。
X:\> uncompyle6.exe test.exe_extracted\test.pyc
X:\> uncompyle6.exe test.exe_extracted\PYZ-00.pyz_extracted\__future__.pyc
Windows下还有个软件可以对pyc进行反编译,下载地址:EasyPythonDecompiler
生成pyc文件
python -m test.py
这个环境刚好练手:
https://infosecwriteups.com/socket-hack-the-box-writeup-walkthrough-by-md-amiruddin-8b2a4ee35711