當前位置:首頁 » 文件管理 » dist文件夾

dist文件夾

發布時間: 2023-07-17 20:10:34

㈠ PyInstaller打包、解包與反編譯.pyc文件

PyInstaller官網: https://www.pyinstaller.org/

假設有一個demo.py文件,在同目錄下啟動命令行或從命令行進入當前文件夾,使用如下命令打包

打包後同目錄下會產生兩個文件夾build和dist(distribution),dist文件夾內就是目標程序。

解包使用pyinstxtractor工具
Github地址: https://github.com/extremecoders-re/pyinstxtractor
假設在第1步中,使用-F參數將demo.py打包為獨立可執行文件demo.exe,進入dist文件夾,將pyinstxtractor.py放在該目錄下,在該目錄下啟動命令行或從命令行進入該文件夾,使用如下命令解包

解包得到的內容將放入同目錄下的demo.exe_extracted文件夾

找到目標.pyc文件,比如demo.pyc
反編譯.pyc文件使用uncompyle6工具
Github地址: https://github.com/rocky/python-uncompyle6
可以直接通過pip安裝uncompyle6

由於pyinstaller在打包可執行文件時會將.pyc文件頭部的16位元組magic head去掉,因此需要對需要反編譯的.pyc文件進行預處理,將文件頭部的16位元組magic head補充完整。這里使用一個開源的16進制編輯器ImHex。
Github地址: https://github.com/WerWolv/ImHex
進入demo.exe_extracted文件夾,用16進制編輯器打開struct.pyc文件復制頭部的16位元組magic head,再用16進制編輯器打開demo.pyc文件,將頭部的16位元組改為magic head,即將圖2中的部分更改為圖1中的值即可。

使用前一個命令,反編譯後的源碼內容會顯示在命令行窗口內;使用後一個命令,源碼會列印到指定文件中,如demo.py。
到此為止可以

Invalid pyc/pyo file - Magic value mismatch!
補充magic head後即可正常反編譯。

如果不是項目成員給所謂的程序而不肯給源碼,而我又繞不過這個程序的問題,我才不想折騰這些有的沒的。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:601
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:893
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:587
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:772
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:691
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1018
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:262
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:121
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:811
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:720