將python打包後的exe還原成py
用到的工具
- pyinstxtractor.py 拆包(解壓)工具,將exe文件解壓成一個文件夾
- uncompyle6 pyc反編譯工具
- 010EditorEditor 或者其他二進制查看與修改工具,我這裡用的010Editor
安裝方法
pip install uncompyle6
第一步:解包
python3 pyinstxtractor.py ***.exe # 這裡替換成你要反編譯的exe文件 # 會生成一個以 exe文件名+_extracted 的文件夾,這個就是解包後的數據
第二步:添加頭信息
PyInstaller
打包後,pyc文件的前8個字節會被抹掉,所以最後要自己添加回去。前四個字節為python編譯的版本,後四個字節為時間戳。想要獲得編譯版本可以查看打包文件裡struct的信息
1). 進入文件夾,找到以exe文件名命名的文件(沒有後綴),這個就是目的文件
2). 用 010Editor 打開 struct,前八位就是我們想要的信息,將其復制
3). 用 010Editor 打開目的文件我這裡是 abc_text,將上一步復制的信息插入到開頭
修改前:
修改後:
4). 將目的文件我這裡是 abc_text,添加pyc的後綴
第三步:逆向 目的文件.pyc
1). 其實這裡已經可以使用瞭。瞭解python的都知道pyc是py文件編譯後的二進制文件,因此如果想要分析源碼還得繼續逆向成.py文件將python
打包後的exe還原成py插圖(5)
2). uncompyle6逆向pyc文件
uncompyle6 abc_text.pyc > abc_text.py
到此這篇關於將python打包後的exe還原成py的文章就介紹到這瞭,更多相關python打包後的exe還原成py內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python可執行文件反編譯教程(exe轉py)
- Python .py生成.pyd文件並打包.exe 的註意事項說明
- Pyinstaller打包文件太大的解決方案
- python3.7 打包成exe程序方式(隻需兩行命令)
- Python Pyinstaller庫安裝步驟以及使用方法