反編譯python
接下來具體說一下步驟:
這個文件在pyinstaller庫里,還沒有安裝的需要安裝一下(已經安裝的跳過安裝)
安裝完成後在python安裝路徑下的\Lib\site-packages文件夾搜索archive_viewer.py文件
找到文件後可以復制到你想要放置的位置(不復制也行)
這一步會把編譯出的文件都羅列出來,像這樣
但是我們只需要找到我們exe對應的名字的文件就好了,確認存在之後滑到最下面,會發現有個?號用於輸入接下來的命令,在這邊我們輸入
會顯示 to filename? 讓你輸入需要輸出的pyc文件名稱,這邊輸入 your_app.pyc 回車就好了
接下來又會顯示?號,接著輸入 x struct 回車,輸入struct文件名稱 struct 回車
由於用PyInstaller打包後,pyc文件的前8個位元組會被抹掉,所以最後要自己添加回去。前四個位元組為python編譯的版本,後四個位元組為時間戳。
這邊使用Hex Editor Neo軟體同時打開.pyc文件和struct文件,復制struct文件前面8個位元組插入到.pyc文件的前面:
這樣我們就得到了完整的pyc文件
安裝uncompyle庫
反編譯
⑵ 怎麼用python編一個反編譯的軟體
python是不能反編譯的,因為得到了一個python的程序,就是得到了它的源代碼。 python是解釋性語言,沒有編譯這一步驟,和c語言和java語言是不一樣的
⑶ 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
例子:
⑷ python如何防止反編譯
Python 編譯生成 pyc 僅僅為了提升載入速度,並不是為了防止破解,反編譯後和原來一模一樣。pyinstaller,py2exe,只是把 pyc 打個包,同樣很弱。代碼混淆也只能增加看懂代碼的難度,但並不能防止破解。所以最為穩妥的辦法只有修改Python解釋器,對源代碼進行加密,解釋器載入源代碼時再解密,這種方法雖然可以防止破解,但給自己帶來麻煩不說,發布程序是需要打包自己修改後的解釋器,相當麻煩。
⑸ python反編譯遇到的新問題,求解
這個後綴應該算是除了python的py代碼外,遇到最多的一種文件類型了。雖然python被普遍認為是一種解釋性語言,但誰說它就不能被編譯後執行呢?python通過compile生成的pyc文件,然後由python的虛擬機執行。相對於py文件來說,編譯成pyc本質上和py沒有太大區別,只是對於這個模塊的載入速度提高了,並沒有提高代碼的執行速度,通常情況下不用主動去編譯pyc文件。
⑹ 問一下,如何用python的decompile批量反編譯pyc 是批量
先將需要反編譯pyc,放在指定的路徑下,然後os.system.pat一個for
循環就可以批量編譯了。
>>>
import
os
>>>
file_list=[]
>>>loc_path='/hadoop/hadoop/'
>>>
file_list=os.listdir(loc_path)
>>>
for
f
in
file_list:
執行反編譯
⑺ python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼
1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。
⑻ 有什麼工具可以將python編譯好的代碼.pyc反編譯為.py
depython是用來反編譯經過python編譯的後綴名為pyc或pyo的位元組碼文件的.
如果你找不到你寫的python源代碼,depython可以幫助你通過pyc/pyo文件來找回這些源代碼。
經depython反編譯得出的python源代碼,和你原來的代碼文件幾乎完全一樣。
http://www.depython.net/?lang=zh