導航:首頁 > 源碼編譯 > python反編譯pyc文件

python反編譯pyc文件

發布時間:2022-12-16 03:26:11

python的程序可以編譯成二進制可執行文件么

python下編譯py成pyc和pyo
其實很簡單,

python -m py_compile file.py
python -m py_compile /root/src/{file1,file2}.py
編譯成pyc文件。
也可以寫份腳本來做這事:
Code:

import py_compile
py_compile.compile('path') //path是包括.py文件名的路徑


python -O -m py_compile file.py
編譯成pyo文件。
1.其中的 -m 相當於腳本中的import,這里的-m py_compile 相當於上面的 import py_compile
2.-O 如果改成 -OO 則是刪除相應的 pyo文件,具體幫助可以在控制台輸入 python -h 查看
========================
from:http://blogold.chinaunix.net/u3/93255/showart_1944929.html
什麼是pyc文件
pyc是一種二進制文件,是由py文件經過編譯後,生成的文件,是一種byte code,py文件變成pyc文件後,載入的速度有所提高,而且pyc是一種跨平台的位元組碼,是由python的虛擬機來執行的,這個是類似於JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc文件是不同的,2.5編譯的pyc文件,2.4版本的 python是無法執行的。
什麼是pyo文件
pyo是優化編譯後的程序 python -O 源文件即可將源程序編譯為pyo文件

什麼是pyd文件
pyd是python的動態鏈接庫。

為什麼需要pyc文件
這個需求太明顯了,因為py文件是可以直接看到源碼的,如果你是開發商業軟體的話,不可能把源碼也泄漏出去吧?所以就需要編譯為pyc後,再發布出去。當然,pyc文件也是可以反編譯的,不同版本編譯後的pyc文件是不同的,根據python源碼中提供的opcode,可以根據pyc文件反編譯出 py文件源碼,網上可以找到一個反編譯python2.3版本的pyc文件的工具,不過該工具從python2.4開始就要收費了,如果需要反編譯出新版本的pyc文件的話,就需要自己動手了(俺暫時還沒這能力^--^),不過你可以自己修改python的源代碼中的opcode文件,重新編譯 python,從而防止不法分子的破解。
生成單個pyc文件
python就是個好東西,它提供了內置的類庫來實現把py文件編譯為pyc文件,這個模塊就是 py_compile 模塊。
使用方法非常簡單,如下所示,直接在idle中,就可以把一個py文件編譯為pyc文件了。(假設在windows環境下)
import py_compile
py_compile.compile(r'H:\game\test.py')
compile函數原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要編譯的py文件的路徑
cfile 表示編譯後的pyc文件名稱和路徑,默認為直接在file文件名後加c 或者 o,o表示優化的位元組碼

from:http://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html

② 有什麼工具可以將python編譯好的代碼.pyc反編譯為.py

depython是用來反編譯經過python編譯的後綴名為pyc或pyo的位元組碼文件的.
如果你找不到你寫的python源代碼,depython可以幫助你通過pyc/pyo文件來找回這些源代碼。
經depython反編譯得出的python源代碼,和你原來的代碼文件幾乎完全一樣。
http://www.depython.net/?lang=zh

③ python的腳本文件的擴展名是pyd

擴展名說明

1、通常寫Python腳本都是以.py為擴展名,.pyc二進制文件可以反編譯成.py文件。

2、反編譯軟體叫EasyPythonDecompiler,可以反編譯一個文件,也可以是一個文件夾

④ python2.3編寫的.pyc,如何反編譯成.py

DePython是用來反編譯經過python編譯的後綴名為pyc或pyo的位元組碼文件的.
如果你找不到你寫的python源代碼,Depython可以幫助你通過pyc/pyo文件來找回這些源代碼。 經DePython反編譯得出的python源代碼,和你原來的代碼文件幾乎完全一樣。

http://www.depython.net/?lang=zh

⑤ python反編譯遇到的新問題,求解

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

⑥ python源碼編程成pyc後,怎麼防止反編譯

無法防止反編譯,但可以混淆,讓你即使反編譯了,也看不懂語法
下面一段源碼

sd=1

defseed(s):
globalsd
sd=s

defrandn(n):
globalsd
sd=(sd*1103515245+12345)&0x7fffffff
returnsd%n

defmain():
seed(11)
foriinxrange(4):
printrandn(313)

if__name__=='__main__':
main()

混淆後

oo000=1
if9-9:Ii.o0o00Oo0O-iI11I1II1I1I
defoooo(s):
globaloo000
oo000=s
if11-11:ii1I-ooO0OO000o
defii11i(n):
globaloo000
oo000=(oo000*1103515245+12345)&0x7fffffff
returnoo000%n
if66-66:iIiI*iIiiiI1IiI1I1*o0OoOoOO00
defI11i():
oooo(11)
forO0Oinxrange(4):
printii11i(313)
if78-78:i11ii11iIi11i.oOoO0oo0OOOo+IiiI/Iii1ii1II11i
if__name__=='__main__':
I11i()#

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

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

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

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

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

1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。

閱讀全文

與python反編譯pyc文件相關的資料

熱點內容
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:344
d盤php調用c盤的mysql 瀏覽:266
怎麼樣搭建源碼網站 瀏覽:429
新概念四冊pdf 瀏覽:363
怎麼下載悅虎檢測app 瀏覽:530
cad表達式命令 瀏覽:200
程序員去一個小公司值不值得 瀏覽:848
程序員做個程序多少錢 瀏覽:497
win10原始解壓軟體 瀏覽:321
阿里程序員的老家 瀏覽:260
量子加密銀行 瀏覽:195
命令方塊獲得指令手機 瀏覽:502