⑴ python寫一個命令行工具(基於uncompile6的反編譯小工具)
在處理沒有源碼的python包時,使用uncompile6進行反編譯能提供便利。但面對大量包文件,逐一操作顯得繁瑣。為此,自建命令行工具以一鍵反編譯指定目錄下的pyc文件,成為更高效的解決方案。
通過使用sys.argv獲取命令行輸入,例如"uncompile6 -o xxx.py xxx.pyc",解析參數為['uncompile6 ', '-o', 'xxx.py', 'xxx.pyc'],實現對多個pyc文件的批量處理。
在製作安裝包過程中,entry_points屬性至關重要。它定義了命令名稱(decompile_pyc)和對應的main函數入口(decompile包下decompile_pyc.py的main函數),確保命令行命令能正確執行。
在setup.py目錄下,執行"sdist"生成tar.gz文件,"bdist_wheel"生成whl文件,完成安裝包的製作。安裝完成後,直接在命令行輸入相應的命令,即可實現一鍵反編譯。
關於上傳包到pypi的步驟,官方有詳細說明,這里不再贅述,確保包的發布符合標准。
⑵ python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼
1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。
⑶ python生成exe文件與exe文件的反編譯
一、Python生成exe文件
1.使用Anaconda Prompt
通過打開Anaconda Prompt,切換到項目使用的環境,運行pyinstaller命令,生成的exe文件會自動存放於默認路徑下的dist文件夾內。
2.使用命令行窗口cmd
設置好三個環境變數,特別是pyinstaller文件夾路徑,打開cmd後,直接輸入pyinstaller命令,生成的exe文件將會被放置在cmd路徑下的dist文件夾中。
二、exe文件反編譯成py文件
1.從exe文件轉pyc文件
下載pyinstxtractor工具,使用在Prompt或cmd中運行,生成的文件夾main.exe_extracted中可以找到main.pyc文件。
2.從pyc文件轉回exe
安裝反編譯工具uncompyle6,運行在Prompt或cmd中,生成main.py文件。
三、pyinstaller參數總結
-F, –onefile: 打包為單個文件,適用於單個.py文件的代碼。
-D, –onedir: 打包多個文件,適用於框架形式的工具代碼,便於維護。
-K, –tk: 包含TCL/TK。
-a, –ascii: 不包含編碼,默認在支持Unicode的版本上包含所有編碼。
-d, –debug: 生成調試版本的可執行文件。
-w, –windowed, –noconsole: 窗口模式執行,不開啟命令行窗口(僅適用於Windows)。
-c, –nowindowed, –console: 控制台模式執行。
-s, –strip: 通過strip壓縮可執行文件和共享庫,注意Cygwin的strip可能影響普通Win32 DLL。
-X, –upx: 使用UPX壓縮執行文件及Windows中的DLL。
-o DIR, –out=DIR: 指定輸出目錄。
-p DIR, –path=DIR: 設置導入路徑。
-i ICO_PATH, –icon=ICO_PATH: 添加圖標至可執行文件。
-v VERFILE, –version=VERFILE: 添加版本信息。
-n NAME, –name=NAME: 指定項目名稱。
四、參考資料
詳細參考資料包括但不限於官方文檔和社區教程,用於深入理解使用方法和參數細節。
⑷ python-uncompyle反編譯
python的編譯後文尺蔽件pyc,可以將pyc文件反編譯為py文件。
相應的工具: uncompyle
github地址: https://github.com/rocky/python-uncompyle6/
安裝: pip install uncompyle
安裝好後,注碰困衫意執行的命令為 uncompyle6 ,而不是 uncompyle 。
查看幫助命令:笑腔 uncompyle6 --help 、 uncompyle6 -h
反編譯單個文件 : uncompyle6 foo.pyc > foo.py
反編譯多個文件: uncompyle6 -o . *.pyc
例子: