pyinstaller 還原python代碼的方法


pyinstaller 的作用就是將python打包成對應平台的可執行文件。一般這種可執行文件的體積都比較大。
我們可以先通過逆向軟件查看一下具體信息

1.png

查看字符串信息 只要有諸如以上的字符串 就說明這個可執行文件有很大程度上是通過pyinstaller打包的 解密方法有兩個

1. pyinstxtractor.py

方法很簡單 直接python pyinstxtractor.py 待解密的文件

當然有可能會報錯,不過絕大多數情況下是可以使用的
image.png

2. pyi-archive_viewer

通過查看pyinstaller的文檔,發現提供pyi-archive_viewer這樣一款工具,去提取可執行文件中的py代碼。根據官網的介紹,這款工具的作用就是查看可執行文件中的各種py代碼。如圖
https://pyinstaller.readthedocs.io/en/v3.3.1/advanced-topics.html

image.png

首先要pip install pyinstaller ,安裝pyinstaller 才能使用pyi-archive_viewer這條命令
執行如圖命令
image.png

這時就會列出集成進去的py包

找到那個py文件,提取出來

image.png

現在就已經還原pyc代碼了。

pyinstaller還有一個問題,就是他在打包pyc的時候,會去掉pyc的magic和時間戳。所以我們需要手工修復。pyinstaller在打包的系統庫的時候是不會去掉magic的,所以我們查看一下系統庫的magic,如下

image.png

magic為\x03\xf3\x0d\x0a,時間戳的話,隨便寫一個就行,不過必須是4個字節

如圖修復

image.png

保存,然后找個pyc還原py代碼的網站就可以了。

至此,完整的提取出pyinstaller打包的文件了。

image.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM