參考文章:
1、https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor
2、https://msd.misuland.com/pd/2884250137616455620
3、https://www.perfcode.com/p/720.html
4、https://blog.csdn.net/ZhaDeNianQu/article/details/87717293
1. 研究對象
1.1. 使用pyinstaller打包成的exe文件
1.2. 由pyinstxtractor反編得到的代碼
1.3. 添加pyc頭后源文件的pyc文件
1.4. 由uncompyle反編譯成的py文件
2. 工具准備
2.1. 軟件
2.1.1. 010editor
2.1.1.1. 安裝包
2.2. Py程序
2.2.1. pyinstxtractor
2.2.2. uncompyle6
2.2.3. pyhotn的函數,pip install uncompyle6
3. 具體方法
3.1. 將pyinstxtractor.py文件和exe程序放在同一文件夾下
3.2. 命令行進入上述文件目錄,執行命令python pyinstxtractor.py ***.exe,的到***.exe_extracted文件夾
3.3. 找到沒有后綴的文件,即編寫的主程序,通常會有一個.mainfest和它名字相同,用010editor打開,按下鍵盤insert鍵選擇插入模式
3.4. 找到base_library.zip文件,解壓,用010editor打開,比較它和上面主程序文件的區別,把首位多的pyc文件頭直接復制出來,添加到主程序的開頭,將主程序另存為***.pyc文件
3.5. 命令行進入剛剛產生的pyc文件目錄,執行命令uncompyle ***.pyc > output.py
3.6. 至此,output.py就是我們要找的源程序,其中的中文由於編碼成unicode,需要再進行解碼