當前位置:首頁 » 編程軟體 » 反編譯pyexe

反編譯pyexe

發布時間: 2022-08-26 19:53:26

『壹』 python生成的exe,反編譯成py的工具,大神提供下,感謝

你解開執行文件。如果是單個的文件,則執行它的時候在臨時目錄里可以找到解開的包。

在解開後的目錄中找到pyc文件,然後利用反編譯工具就可以將pyc反編譯成py文件。

但是有些程序是做了加密的。它們的pyc是它們重新寫python編譯器後自定義的加密格式,用通常的辦法無法解開。 需要在內存里反編譯。
-------------
pyc反編譯工具有很多
你搜索uncompyle2, decompyle2, DePython, unpyc, uncompyle, pycdc 等
聽說python2.7而言, uncompyler是最好用的工具。

『貳』 用Python2.7.1寫的小程序可以反編譯得到它的源代碼嗎

可以啊,要看他的發布形式,如果是以腳本形式發布的,那就可以直接得到源碼
如果是以exe形式發布的,需要進行反編譯。

『叄』 python反編譯遇到的新問題,求解

這個後綴應該算是除了python的py代碼外,遇到最多的一種文件類型了。雖然python被普遍認為是一種解釋性語言,但誰說它就不能被編譯後執行呢?python通過compile生成的pyc文件,然後由python的虛擬機執行。相對於py文件來說,編譯成pyc本質上和py沒有太大區別,只是對於這個模塊的載入速度提高了,並沒有提高代碼的執行速度,通常情況下不用主動去編譯pyc文件。

『肆』 如何將自己編寫的.py文件轉換為可執行.exe文件

利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執行。本篇將介紹利用套件「PyInstaller」製作exe檔。
1|0安裝方法

1234

#安裝pyinstallerpip install pyinstaller#安裝依賴pip install pywin32-ctypes

2|0常用參數介紹
pyinstaller -h來查看參數
-F打包成一個exe文件
-i圖標路徑
-w使用視窗,無控制台
-c使用控制台,無視窗
-D創建一個目錄,包含exe以及其他一些依賴性文件
編譯文件時,我們通常使用如下命令:
pyinstaller -F -w -i favo.ico main.py
3|0靜態文件
對於python所依賴的圖片,config.yaml等靜態文件,pyinstall不會自動打包,需要手動在main.py(所需要打包的入口文件)的相同目錄中尋找main.spec,修改datas依賴,才可以自動打包到exe的相同目錄下,然後執行即可
datas是一個數組,每個子項是一個tuple,其中tuple的第一個參數是你要打包的源路徑,第二個參數是打包後的名字

12345678910111213141516

# -*- mode: python -*- block_cipher = None a = Analysis(['ui.py'],pathex=['C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test'],binaries=[],datas=[('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\images','images'),('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\question.yaml','question.yaml')],hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)

然後執行:
pyinstaller -F main.spec
4|0示例
如下圖所示,我們編寫一個輸出helow pyinstaller的Python程序,並利用input()使程序可以暫時停在輸出畫面。

12

print('helow pyinstaller')input('please wait:')

編譯python為exe,編譯過程中會自動安裝相關依賴
pyinstaller -F hello.py
編譯過程中會產生如下輸出:

1234567891011121314

…6942 INFO: checking PY6944 INFO: Building because toc changed6944 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz7559 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz completed successfully.7568 INFO: checking PKG7569 INFO: Building because toc changed7569 INFO: Building PKG(CArchive)PKG-00.pkg9407 INFO: Building PKG(CArchive)PKG-00.pkg completed successfully.9409 INFO: Bootloader c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9409 INFO: checking EXE9411 INFO: Building because toc changed9411 INFO: Building EXE from EXE-00.toc9412 INFO: Appending archive to EXE C:\Users\user\Desktop\test\dist\test.exe9455 INFO: Building EXE from EXE-00.toc completed successfully.

通過輸出可以看出pyinstaller進行了如下操作:
會先建立一個hello.spec
建立「build」文件夾
建立log紀錄檔與工作檔案於文件夾build中
建立「dist」文件夾
建立執行檔(.exe)在「dist」文件夾
4|1注意事項
執行檔案可在win8/win10,64位的電腦運行,但win7 x64和其餘所有32位失敗,會提示不兼容,若要能32位與64位皆可運行,就要在Python 32位的環境下編譯PyInstaller打包exe,才能在32位與64位成功。

『伍』 怎樣反編加過密的Py腳本吖

你希望得到什麼結果?

如果你想反編譯後得到delphi源碼,不用考慮了,不可能。 Delphi 反編譯工具

反向工程一直被認為是技術奇才的專有藝術,需要熟悉匯編語言和調試器。下面幾個Delphi反編譯器允許任何人反編譯大多數Delphi可執行文件,即使只有有限的技術知識。

如果你對Delphi程序反向工程感興趣,我建議你看一看以下幾個「反編譯器」:

DeDe

DeDe是一個非常快的程序,用於分析Delphi編譯的可執行文件。反編譯之後,DeDe會提供以下信息:

所有的目標dfm文件。你可以用Delphi打開並編輯它們;
帶有良好的注釋的ASM代碼的所有發布的方法,它涉及字元串、輸入函數調用、類方法調用、單元的組件、Try-Except和Try-Finally塊。默認情況下,DeDe僅僅只獲得已發布方法的源代碼,但如果你通過使用Tools | Disassemble Proc菜單知道RVA偏移量的話,你也可以處理可執行文件中的其他過程。
大量的附加信息。
你可以創建一個帶有所有的dfm、pas、dpr文件的Delphi工程的文件夾。註:pas文件包含上面提及的被良好注釋過的ASM代碼。他們不能被再編譯!
Revendepro

Revendepro可以找到程序中幾乎所有的結構(類、類型、過程等),並生成pascal表達式、過程則以匯編程序的形式寫出來。由於匯編程序的某些限制,生成的結果不能被在編譯。這個反編譯器的源代碼可以免費獲得。不幸的是,這是唯一一個我不能使用的反編譯器—當試圖用它反編譯某些Delphi可執行文件時,總提示異常。

MRIP

這個對用途文件分割器可以從其它文件中尋找和摘取文件。MRIP分割100多種文件格式。對我們而言,最重要的是MRipper可以反編譯任何Delphi可執行文件。該工具可以從Delphi應用程序中摘取所有的資源:cursors(游標)、icons(圖標)、dfm文件、pas文件和其他資源。pas文件不包含事件過程執行。MRIP是一個DOS工具。

DfmExplorer

以下是DfmExplorer的說明(包括原始資料):

通過調用Win32 API的「LoadLibrary」或「LoadLibraryEx」函數在內存中載入可執行模塊(EXE\DLL\BPL\DPL)。
通過Win32 API的「EnumResourceName」函數找尋RCDATA資源。
載入每個發現的DFM塊,解碼它並以表的形式(包括它們的名稱)存儲在內存中。
在程序的主窗口我們可以以文本方式可視化所有載入可執行文件的所有的DFM。
最後,程序可以保存到DFM選擇的磁碟,作為ASCII文件(.RC)或作為二進制塊(DAT)連接到可執行文件中。
Exe2Dpr

如果你試圖放鬆你的工程源代碼,這個Delphi工程源代碼救助器可以挽救丟失的源碼部分。救助器生成所有的帶已分配屬性和事件的工程表單和數據模塊。生成的事件過程沒有主程序(它不是反編譯器),但又在可執行文件中的代碼地址。這個工具沒有GUI—它使用命令行的形式: 'exe2dpr [-o] exeFile '。工程源代碼在當前目錄創建。如果你想覆蓋當前目錄的任何已存在的文件,就可以使用選項 '-o '。

目前 ,Borland沒有提供任何產品用於反編譯可執行(.exe)文件或「Delphi 編譯文件」(.dcu)為原始的程序代碼(.pas)。

Delphi編譯單元:DCU(Delphi compiled unit: DCU)

當一個Delphi工程被編譯或運行時,一個編譯單元(.dcu)文件便產生了。默認情況下,每個單元的編譯版本都存放在獨立的二進制文件中,該文件的文件名與單元文件同名,同時它的擴展名為.DCU。例如:unit1.dcu文件包含有在unit1.pas文件中聲明的代碼和數據。

這意味著如果你有某些資源,如編譯過的組件,你所必須做的是反編譯它並獲得源代碼。錯了,DCU文件格式是非文檔的(所有者格式)並且它可以隨版本的改變而改變。

編譯器之後:Delphi反向工程(After the compiler: Delphi Reverse Engineering)

如果你試圖反編譯一個Delphi可執行文件,有幾件事你應該知道:

Delphi源程序文件通常以兩種文件類型存儲:ASCII代碼文件(.pas、.dpr)和資源文件(.res、.rc、.dfm、.dcr)。Dfm文件包含表單中所容納的對象的詳細資料(屬性)。當創建一個可執行文件時,Delphi拷貝.dfm文件中的信息到已完成的.exe代碼文件。表單文件描述了表單中的每個組件,包括所有穩定的屬性值。每當我們改變表單的位置、按鈕的標題或為組件指派一個事件過程時,Delphi就會在DFM文件中記下這些改變(不是事件過程的代碼—它是存放在pas/dcu文件中)。為了從可執行文件中得到 'dfm ',我們需要理解什麼類型的資源被存放在Win32可執行文件中。

所有被Delphi編譯過的程序都有以下幾個部分:CODE、DATA、BSS、.idata、tls、.rdata、.rsrc。從反編譯的角度來看,最重要的部分是:CODE、.rsrc。在「Adding functionality to a Delphi program "(「在Delphi程序中增加功能」)(譯者加:陸續譯出)文章中討論了關於Delphi可執行格式、類信息和DFM資源的一些有趣的內容:怎樣分配事件給同一個表單中定義的其他事件句柄(handler)處理、怎樣增加你自己的事件句柄(handler)從而在可執行文件中增加代碼改變按鈕的標題。

存放在.exe文件中的各種類型的資源里,RT_RCDATA或Application-defined(程序定義)資源(原始數據)擁有編譯前DFM文件所包含的信息。為了從.exe文件中選出DFM數據,我們可以調用EnumResourceNames API函數...關於從.exe文件中選出DFM數據的更多的信息,可以參考:「Coding a Delphi DFM explorer」(「編寫一個Delphi DFM探測器」)。(譯者加:陸續譯出)

『陸』 python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼

你運行的時候他好像會自動解開包(可能會解到temp文件夾),能找到py文件,當然人家可能只用pyo,pyc之類,那就回到反編譯這些文件的問題上。

『柒』 python exe如何防止反編譯

Python 編譯生成 pyc 僅僅為了提升載入速度,並不是為了防止破解,反編譯後和原來一模一樣。pyinstaller,py2exe,只是把 pyc 打個包,同樣很弱。代碼混淆也只能增加看懂代碼的難度,但並不能防止破解。所以最為穩妥的辦法只有修改Python解釋器,對源代碼進行加密,解釋器載入源代碼時再解密,這種方法雖然可以防止破解,但給自己帶來麻煩不說,發布程序是需要打包自己修改後的解釋器,相當麻煩。

『捌』 如何把python編譯成exe文件

我的是這個文件 py2exe-0.6.9.win32-py2.6.exe 你自己找,找到對應你python的版本安裝。安裝之後打開解釋器輸入>>> import py2exe
>>> import distutils如果沒有問題就可以了。現在說步驟:1、准備你要編譯的python腳本,比如:a.py,放在C:\compile\a.py2、編寫另一個python腳本setup.py,內容如下:import distutils
import py2exe
distutils.core.setup(windows=[『C:\\compile\\a.py』])3、把你的setup.py放在某個位置,比如C:\compile\setup.py打開命令行輸入 C:\compile\setup.py py2exe 編譯生成4、然後會在C:\Users\你的用戶名\ 下生成一個dist的文件, 裡面有個a.exe,雙擊就會執行你的腳本。

『玖』 pyinstall 和 py2EXE生成的EXE哪個反編譯性能好點

都能用7-zip解壓出pyc吧

『拾』 cxfreeze生成的exe能反編譯回py嗎,請實際操作過的回答一下。

1、製作U盤啟動盤。

2、從主板的官網上下載最新bios,解壓到U盤的根目錄下:

提示「Program ended
normally」或者游標不在動時(注意觀察等待)表示刷新bios成功。最後重啟,看是否正常進入操作系統。

熱點內容
安卓手機如何繞過緩存軟體 發布:2025-03-16 22:35:16 瀏覽:241
c語言求職 發布:2025-03-16 22:34:23 瀏覽:429
在線教育培訓源碼 發布:2025-03-16 22:31:57 瀏覽:233
反編譯vb工具 發布:2025-03-16 22:27:04 瀏覽:353
安卓流程為什麼越來越多 發布:2025-03-16 22:26:50 瀏覽:933
五軸編程模型 發布:2025-03-16 22:17:48 瀏覽:181
linuxc函數庫 發布:2025-03-16 22:03:33 瀏覽:921
iphone最新版系統從哪裡改密碼 發布:2025-03-16 21:56:19 瀏覽:596
python的execute 發布:2025-03-16 21:40:24 瀏覽:767
今天的訪問量就靠你了 發布:2025-03-16 21:39:35 瀏覽:430