當前位置:首頁 » 文件管理 » 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後即可正常反編譯。

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

熱點內容
c語言字元串讀入 發布:2025-03-16 02:21:23 瀏覽:476
python爬蟲開發環境 發布:2025-03-16 02:19:55 瀏覽:626
androidondestory 發布:2025-03-16 02:12:49 瀏覽:862
軟體源碼侵權 發布:2025-03-16 02:06:54 瀏覽:287
給表添加欄位的sql 發布:2025-03-16 02:04:29 瀏覽:473
1除5演算法 發布:2025-03-16 02:02:57 瀏覽:757
oppo雲密碼本在哪裡 發布:2025-03-16 01:57:13 瀏覽:534
c語言定義pi的 發布:2025-03-16 01:51:08 瀏覽:603
一劍破天腳本 發布:2025-03-16 01:48:03 瀏覽:965
dex優化編譯 發布:2025-03-16 01:45:54 瀏覽:224