pyinstaller還原python程式碼過程圖解
這篇文章主要介紹了pyinstaller還原python程式碼過程圖解,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
pyinstaller 的作用就是將python打包成對應平臺的可執行檔案。一般這種可執行檔案的體積都比較大。
我們可以先通過逆向軟體檢視一下具體資訊
檢視字串資訊 只要有諸如以上的字串 就說明這個可執行檔案有很大程度上是通過pyinstaller打包的 解密方法有兩個
1. pyinstxtractor.py
方法很簡單 直接python pyinstxtractor.py 待解密的檔案
當然有可能會報錯,不過絕大多數情況下是可以使用的
2. pyi-archive_viewer
通過檢視pyinstaller的文件,發現提供pyi-archive_viewer這樣一款工具,去提取可執行檔案中的py程式碼。根據官網的介紹,這款工具的作用就是檢視可執行檔案中的各種py程式碼。如圖
https://pyinstaller.readthedocs.io/en/v3.3.1/advanced-topics.html
首先要pip install pyinstaller ,安裝pyinstaller 才能使用pyi-archive_viewer這條命令
執行如圖命令
這時就會列出整合進去的py包
找到那個py檔案,提取出來
現在就已經還原pyc程式碼了。
pyinstaller還有一個問題,就是他在打包pyc的時候,會去掉pyc的magic和時間戳。所以我們需要手工修復。pyinstaller在打包的系統庫的時候是不會去掉magic的,所以我們檢視一下系統庫的magic,如下
magic為\x03\xf3\x0d\x0a,時間戳的話,隨便寫一個就行,不過必須是4個位元組
如圖修復
儲存,然後找個pyc還原py程式碼的網站就可以了。
至此,完整的提取出pyinstaller打包的檔案了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。