Python编译与反编译.exe
文章目錄
- 簡(jiǎn)介
- 1. PyInstaller
- 編譯為.exe
- 反編譯.exe
- 2. PyInstaller加密
- 編譯為.exe
- 反編譯.exe
- 3. py2exe
- 編譯為.exe
- 反編譯.exe
- Python 2.7 反編譯
- 相關(guān)工具
- 遇到的坑
- 參考文獻(xiàn)
簡(jiǎn)介
Python 程序編譯為 .exe 使用 PyInstaller,反編譯使用 PyInstaller Extractor
或編譯使用 py2exe,反編譯使用 unpy2exe 或 uncompyle2
本文使用 Python 3
1. PyInstaller
編譯為.exe
安裝 Windows 虛擬環(huán)境管理包
pip install virtualenvwrapper-win新建虛擬環(huán)境
mkvirtualenv compilePyCharm 配置
進(jìn)入虛擬環(huán)境
安裝
pip install pyinstallertool.py
from datetime import datetimedef now():return datetime.now()main.py
import os from tool import nowif __name__ == '__main__':print(now())os.system('pause')編譯為.exe
pyinstaller -F main.py運(yùn)行 dist 文件夾里的 .exe
反編譯.exe
下載 pyinstxtractor.py,放到 .exe 同一目錄下
運(yùn)行
python pyinstxtractor.py main.exe效果
生成了文件夾 xxx.exe_extracted,找到以下文件:
- xxx.exe.manifest
- xxx.pyc
使用 Python 反編譯在線工具,上傳 xxx.pyc 和 PYZ-00.pyz_extracted/tool.pyc
或使用 Uncompyle6
pip install uncompyle6 uncompyle6 main.pyc2. PyInstaller加密
編譯為.exe
安裝
pip install tinyaes打包
pyinstaller -F --key 123456 main.py反編譯.exe
運(yùn)行
python pyinstxtractor.py main.exe多了很多 Error
外層的 main.pyc 依然能使用 Python 反編譯在線工具
內(nèi)層的則加密了
3. py2exe
編譯為.exe
安裝
pip install py2exesetup.py
from distutils.core import setup import py2exesetup(console=['main.py'])打包
python setup.py py2exe運(yùn)行 dist 文件夾里的 .exe
反編譯.exe
安裝
pip install unpy2exe下載 unpy2exe.py,放到 .exe 同一目錄下
添加 main 方法
if __name__ == '__main__':unpy2exe('main.exe')運(yùn)行
python unpy2exe.py生成了 main.py.pyc
使用 Python 反編譯在線工具
Python 2.7 反編譯
安裝
git clone https://github.com/wibiti/uncompyle2.git cd uncompyle2 python setup.py install反編譯.exe
python C:\Python27\Scripts\unpy2exe main.exe -v運(yùn)行
python C:\Python27\Scripts\uncompyle2 -o main.py main.py.pycPyInstaller反編譯
python C:\Python27\Scripts\pyinstxtractor.exe main.py
相關(guān)工具
- Py2ExeDumper
- Easy Python Decompiler
- pycdc
遇到的坑
參考文獻(xiàn)
總結(jié)
以上是生活随笔為你收集整理的Python编译与反编译.exe的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaScript(BOM、窗口事件和
- 下一篇: Python Django项目实例二