最近由于忘了源代码放哪里了,只能从Pyinstaller打包好的exe文件中找了,参考了一下教程,发现挺简单。
1、把exe转为pyc文件
1、首先在GitHub上下载pyinstxtractor,然后基于pyinstxtractor.py这个文件执行语句
python pyinstxtractor.py test.exe
# 输出
[+] Processing dist\test.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 36
[+] Length of package: 5612452 bytes
[+] Found 59 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: test.pyc
[+] Found 133 files in PYZ archive
[+] Successfully extracted pyinstaller archive: dist\test.exe
这样就能找到原来的test.pyc 编译文件
2、把pyc转为py文件
这里就要用到uncompyle这个项目,安装也很简单
#通过清华镜像源,下载快
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uncompyle
uncompyle test.pyc > test.py
注意:
(1)乱码问题:这样就生成了源文件,不过直接用vscode打开,中文会变为乱码,建议用Notepad++打开(它打开没问题,应该是自动转码了),然后复制粘贴到vscode等,再保存
(2)引用问题:发现反编译回来的引用汇聚到了一起,需要重新一个一个引用
import os,json,cv2
#改为
import os
import json
import cv2