Pyinstaller解包

最近由于忘了源代码放哪里了,只能从Pyinstaller打包好的exe文件中找了,参考了一下教程,发现挺简单。
1、把exe转为pyc文件 【Pyinstaller解包】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

    推荐阅读