反編譯PyInstaller打包後的exe為py源碼

2021-01-08 小鋒學長

今天手賤,不小心刪了辛辛苦苦寫的py文件。但還好在刪之前打包了exe,而且不是加密打包,所可以反編譯源碼出來。

1、先準備一個pyinstxtractor.py文件,用來把exe解析成pyd

源碼如下:

2、把它放到要反編譯的exe所在位置

3、在命令窗口輸入:

pythonpyinstxtractor.pyxxx.exe

4、在目錄下生成反編譯後的文件:xx.exe_extracted

生成拆解目錄如下:

--- xxx.exe_extracted-- out00-PYZ.pyz_extracted - 各種.pyc文件-- out00-PYZ.pyz-- some-- others-- xxx(注意這些都是沒後綴的)

5、PYZ-00.pyz_extracted文件夾內是import的文件

6、安裝uncompyle反編譯需要的.pyc文件為.py

pip install uncompyle

7、找到之前的文件(我這裡是main),對比其他.pyc文件,修改main文件,在它前面加上一點內容:

8、改完後保存,並修改後綴為.pyc

9、將pyc反編譯為py文件,輸入命令:

uncompyle6main.pyc > output.py

10、在目錄下生成output.py,即為源碼文件

11、運行生成的py文件可能會報格式錯誤,可以新建一個py文件再把內容複製進去

12、運行,正常

如何防止被反編譯?

打包時候加上密碼,讓pyc變為pyd,命令如下:

pyinstaller-F--key 123 xxx.py

--key後面跟的是你的密碼

相關焦點

  • pyinstaller打包Python .py成 exe文件 收集依賴 pyd .pyc .pyo
    pyinstaller 可把 *.py 文件打包成一個可執行 *.exe 文件 (或一個文件夾)。當然,首先得安裝 CPython 實現,pyinstaller 模塊及其相關依賴包。pyinstaller 是 Python 語言環境下,把 *.py 文件分發-打包成可執行 *.exe 文件的一個著名流行開源框架,採用 C 和 Python 混合編程而成。pyinstaller 幫助文檔編制很詳細,其基本用法較簡單,不看文檔編制也能輕鬆學會使用。但要深入,最好適當研究一下其工作原理及原始碼。
  • Python程序打包成exe可執行文件(pyinstaller)
    安裝Pyinstaller模塊方法一打開控制臺輸入:pip install pyinstaller並回車, 等待安裝完成即可方法二(1)下載匹配的pyinstaller 安裝包,下載載址:http://www.pyinstaller.org/(2)下載完成後使用解壓軟體解壓(3)在解壓後的文件夾中打開命令行窗口,輸入python setup.py install
  • python:打包成exe的神器pyinstaller - 二進位01
    本篇環境:python 3.5/win 10/pyinstaller 3.5我們都知道,python的py文件需要在python的環境下才能運行,但是,我們如果想要把自己編寫的小程序移植到所有windows電腦上,就需要把py文件打包成exe可執行文件。
  • 手把手教你py腳本打包為exe
    Python腳本轉換為Windows環境運行的exe文件,在沒有部署python的電腦上直接運行你的程序!!!只需簡單兩步!pip install2、命令行中輸入pyinstall命令完成腳本轉換pyinstaller [opts] yourprogram.py
  • Python基礎:加密你的Python源碼順便再打個包如何?
    首先想到的便是將程序源碼編譯成一個exe文件,這樣所有小夥伴直接雙擊exe文件便可以運行程序。但這便涉及到一個問題,這個操作只是對源碼進行一個打包,類似於添加到壓縮文件,用戶也可以輕易地將壓縮文件解壓,到時候程序中的所有源碼便會暴露出來。考慮到在C和C++這種編譯型語言中是將所寫的語言編譯成機器代碼,即二進位代碼,無法通過二進位代碼反編譯出源碼。
  • Python在window平臺打包工具pyinstaller
    Java 一次編譯到處運行,Python沒有這麼好本事,但是也有一個pyinstaller可以打包exe,在window平臺下運行pyinstaller安裝pip install pyinstaller參數計算機小助手例子
  • pyqt5快速上手基礎篇12-使用Pyinstaller打包應用程式
    pyinstaller3.6安裝包版本有問題,需要用源碼安裝......打開第一節1-setup代碼打開第一節代碼,然後輸入python3 run.py,運行程序本節我們要做的就是使用pyinstaller打包python文件為exe可執行程序。2.
  • 實戰Python3.7+64位 Exe 反編譯
    安裝成功後,用pyinstaller -F filename打包編譯成exe。拖進exeinfo查看,果然是64位的;運行下,可以運行,說明編譯成功。在開工前,先準備好相關的知識,為後面的順利進行打下基礎。
  • Python文件如何打包成exe?
    但是呢,我們開發的腳本一般都會用到一些第三方包,可能別人也需要用到我們的腳本,如果我們將我們的xx.py文件發給他,他是不能直接用的,他還需要安裝python解釋器,甚至還要安裝我們用的那些第三方包,是不是有點小麻煩?但是我們都知道,PC是可以直接運行exe文件的,這就為我們提供了一個便捷的方式。
  • 別再問我怎麼Python打包成exe了!
    所以,從看了這個教程以後,這都將成為過去式,打成exe之後,分享即可用。PS: 如果打包為exe的話,版本儘量選擇python3.6+32位版本,因為win64位系統向下兼容32位程序,但是如果不考慮32位系統的話無所謂,直接python64位版本直接打包就可以,只是只能在win64位系統上跑。安裝pyinst
  • 別再問我怎麼Python打包成exe了
    PS: 如果打包為exe的話,版本儘量選擇python3.6+32位版本,因為win64位系統向下兼容32位程序,但是如果不考慮32位系統的話無所謂,直接python64位版本直接打包就可以,只是只能在win64位系統上跑。
  • 用Pyinstaller打包文件為應用程式
    怎麼才能把我們寫好的Python文件轉化為exe可執行文件呢?藉助這個機會,我學習了一下pyinstaller打包文件的模塊。 用到的命令就一行: 1pyinstaller-Ftm_01_birthday.py 雖然命令就一行,但從開始執行,到最後真正地打包成26.9M的可執行文件,我還是經歷了很多坑。
  • Python文件.py轉換為.exe可執行程序,製作.exe文件圖標
    假如是專業的人士看你的代碼,一眼就能看懂你的代碼,而其實我們可以不需要給代碼,利用pyinstaller直接將你的Python程序打包成.exe文件格式,發給別人進行展示時,別人就會就像安裝一個軟體一樣,直接點擊exe文件就可以運行,完全封裝好,別人看不到你的代碼,你也再也不用一個一個得進行運行展示了,直接丟你已經打包好了的.exe
  • 將python文件打包成exe程序,任何人都可以使用
    所以我們只需要將Python程序打包為exe文件以後,發送給任何人都可以使用,我們打包成exe需要使用到的工具是pyinstaller模塊。首先我們先安裝pyinstallerPython 默認並不包含 PyInstaller 模塊,因此需要自行安裝 PyInstaller 模塊。
  • Python程序打包——PyInstaller庫
    PyInstaller庫概述PyInstaller庫是將.py原始碼轉換成無需原始碼的可執行文件的一個第三方庫。他可以打包生成- Windows (exe文件)- Linux- Mac OS X可執行文件安裝方法:pip install pyinstaller國內建議使用國內源等加快下載速度,使用方式如下:pip install -i <國內源> pyinstaller國內源有清華、阿里、中科大等,可根據自己需求選擇
  • Python:PyInstaller庫基本介紹
    將編寫的.py的原始碼轉換成無需原始碼的可執行文件,需要將源程序編譯或打包成直接可以執行的程序。PyInstaller庫是第三方庫,使用時需要額外安裝。PyInstaller庫的安裝Windows(cmd命令行) pip install pyinstallerPyInstaller庫將源文件打包生成可執行文件在原始碼所在目錄下,通過window的命令行,將源文件打包生成可執行文件。
  • Ubuntu下,用Pyinstaller打包桌面系統時,你踩坑了沒?
    cd到Python源碼目錄裡。#生成Makefile文件sudo ./configure --with-ssl#編譯程序sudo make#安裝程序sudo make install安裝完成後,在【終端】輸入python3,確認一下。
  • 原來將 Python 程序打包成exe文件這麼簡單!只需三步
    一、在cmd命令行執行安裝pyinstaller工具二、下載安裝pyinstaler運行時所需windows擴展:pywin32三、在命令行中執行打包命令即可這裡咱們執行開始打包:四、打包結果如下:五、運行打包好的exe文件
  • python學習基礎之腳本導出為exe程序
    所以我們需要一種方式將python的腳本轉換成exe程序我們這邊用PyInstalle來完成這一功能。工作原理就是將python的解析器和你自己的腳本給打包成一個可執行的文件,用起來是簡單了,不過運行效率會有相應的降低,這個也是沒法避免的事情;如果是在linux系統下主要用到binutil工具包裡面的ldd和objump命令來完成。
  • Python如何打包成可執行程序exe
    Python是一種腳本語言,在開發完程序後,都要用python yourprogram.py來執行程序,這對於熟悉Windows作業系統的人來說,這時不可接受的,尤其是當用類似PyQt做出圖形界面時,如果還需要cmd時,簡直會有不再學習Python的衝動。