接下來具體說一下步驟:
這個文件在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寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼
1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。
『叄』 什麼是python編程
Python是一門新興的編程語言,編程語言有很多,比如C++、Java、C#、PHP、JavaScript等,Python也是其中之一,在學習Python前,我們需要對它有一定的了解。
Python支持多種編程范型,如函數式、指令式、結構化、面向對象和反射式編程。
Python解釋器易於擴展,可以使用C或C++或其他可以通過C調用的語言擴展新的功能和數據類型。
Python編寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序,在計算機內部,Python解釋器把源代碼轉換成位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。
語法簡潔而清晰,具有豐富和強大的類庫,使用Python快速生成程序的原型,然後對其中有特別要求的部分,用更合適的語言改寫,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。
只有基礎建牢固了,才會更利於我們以後的發展及進步,現如今Python的發展十分迅速,已經將C++語言甩在了後邊,在不久的將來,可能會超過C和Java這些主流語言。
『肆』 腳本語言不需要編譯怎麼執行呀
因為大多數腳本都是解釋型語言。
解釋型語言是相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。比如Python/JavaScript / Perl /Shell等都是解釋型語言。 解釋型語言:程序不需要編譯,程序在運行時才翻譯成機器語言,每執 行一次都要翻譯一次。因此效率比較低。比如Basic語言,專門有一個解釋器能夠直接執行Basic程 序,每個語句都是執行的時候才翻譯。(在運行程序的時候才翻譯,專門有一個解釋器去進行翻譯,每個語句都是執行的時候才翻譯。效率比較低,依賴解釋器,跨平台性好.)
一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高,但也不能一概而論,部分解釋型語言的解釋器通過在運行時動態優化代碼,甚至能夠使解釋型語言的性能超過編譯型語言。
解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。解釋是一句一句的翻譯。
『伍』 python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼
1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。