這篇文章主要介紹了pyinstaller還原python代碼過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
成都創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設計服務,主要包括網(wǎng)站設計制作、成都網(wǎng)站設計、重慶App定制開發(fā)、重慶小程序開發(fā)、宣傳片制作、LOGO設計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。pyinstaller 的作用就是將python打包成對應平臺的可執(zhí)行文件。一般這種可執(zhí)行文件的體積都比較大。
我們可以先通過逆向軟件查看一下具體信息
查看字符串信息 只要有諸如以上的字符串 就說明這個可執(zhí)行文件有很大程度上是通過pyinstaller打包的 解密方法有兩個
1. pyinstxtractor.py
方法很簡單 直接python pyinstxtractor.py 待解密的文件
當然有可能會報錯,不過絕大多數(shù)情況下是可以使用的
2. pyi-archive_viewer
通過查看pyinstaller的文檔,發(fā)現(xiàn)提供pyi-archive_viewer這樣一款工具,去提取可執(zhí)行文件中的py代碼。根據(jù)官網(wǎng)的介紹,這款工具的作用就是查看可執(zhí)行文件中的各種py代碼。如圖
https://pyinstaller.readthedocs.io/en/v3.3.1/advanced-topics.html
首先要pip install pyinstaller ,安裝pyinstaller 才能使用pyi-archive_viewer這條命令
執(zhí)行如圖命令
這時就會列出集成進去的py包
找到那個py文件,提取出來
現(xiàn)在就已經(jīng)還原pyc代碼了。
pyinstaller還有一個問題,就是他在打包pyc的時候,會去掉pyc的magic和時間戳。所以我們需要手工修復。pyinstaller在打包的系統(tǒng)庫的時候是不會去掉magic的,所以我們查看一下系統(tǒng)庫的magic,如下
magic為\x03\xf3\x0d\x0a,時間戳的話,隨便寫一個就行,不過必須是4個字節(jié)
如圖修復
保存,然后找個pyc還原py代碼的網(wǎng)站就可以了。
至此,完整的提取出pyinstaller打包的文件了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設計公司。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。