文章目錄
- 1、所需環境
- 2、確認打包工具(沒成功)
- 3、 解包.exe文件(以PyInstaller為例) - useful【***總的來說這一步對我有用】
- 4、定位關鍵文件 - useful
- 5、 修復.pyc文件頭(關鍵步驟!)- maybe-ig(沒有成功)
- 6、反編譯.pyc文件 - (反正我沒成功)
1、所需環境
- python運行環境
- git(用來下載所需工具)
2、確認打包工具(沒成功)
strings.exe your_executable.exe | findstr “PyInstaller py2exe cx_Freeze”
3、 解包.exe文件(以PyInstaller為例) - useful【***總的來說這一步對我有用】
1、下載pyinstxtractor
git clone https://github.com/extremecoders-re/pyinstxtractor
2、解包
python pyinstxtractor.py “C:\path\to\your_executable.exe”
有用(利用HxD軟件讀取.pyz文件,可以可能到對應的源碼<2.x版本的>,不過會有中文亂碼):
4、定位關鍵文件 - useful
1、主程序文件
your_executable.pyc/pyz
2、依賴模塊文件 —— 【當做沒額外的】【沒成功】
解壓PYZ-00.pyz文件(直接拖到7-Zip窗口即可解壓)
5、 修復.pyc文件頭(關鍵步驟!)- maybe-ig(沒有成功)
據說Windows解包后的.pyc文件可能丟失頭信息
但是我沒有成功修復過,因為看起來直接是正確的了,可能不同版本的不同。
6、反編譯.pyc文件 - (反正我沒成功)
方法1:使用uncompyle6(支持Python ≤3.8)
方法2:使用pycdc(支持Python 3.9+)