㈠ 用python2.7.1寫的小程序可以反編譯得到它的源代碼嗎
可以啊,要看他的發布形式,如果是以腳本形式發布的,那就可以直接得到源碼。
如果是以exe形式發布的,需要進行反編譯。
㈡ 為什麼pyd不能和wic成為好朋友
這種情況也只有當事人自己清楚吧,實際上每個人的狀態都不同的,
沒有成為朋友的話,應該是沒有緣分吧!
㈢ pyinstaller打的包怎麼反編譯
據我所知, pyinstaller 打的包, 其實裡面就是包含了 python 解釋器, 一些 dll。 你需要將他們解包出來, 然後反匯編這 dll 就可以了, 應該會有 pyd 這些文件,具體怎麼解,我雖然不清楚, 但是 pyinstaller 提供了一個叫 viewarchive 的工具, 下載 pyinstaller 的工具, 就會附帶。 建議你可以去看看他們的文檔
㈣ 後綴為dll,pyd的文件用什麼軟體編輯和打開呢
DLL文件即動態鏈接庫文件,是一種可執行文件,它允許程序共享執行特殊任務所必需的代碼和其他資源。打不開的,不過可以使用反匯編試試
PYD是一種PYTHON動態模塊。實質上還是dll文件,只是改了後綴為PYD
㈤ 有沒有反編譯pyd文件的工具
pyd就是一個按照python格式用/c/c++寫的二進制文件,要反編譯它直接用反編譯可執行文件的程序就可以了
㈥ python混淆代碼後還能找回來么
Python程序的混淆和加密
混淆
為了增加代碼閱讀的難度, 源代碼的混淆非常必要, 一個在線的Python代碼混淆網站. 如果你覺得有用, 可以購買離線版本.
同時需要注意的是, 這個混淆其實還是被很多人懷疑的, 因為即使混淆了, 也沒有改變代碼的結構. 所以, 必要的話, 在編程的時候, 可以故意做點提高逆向難度的事情:
結構稍微改變, 合並幾個類到同一個文件.
面向對象的結構中, 偶爾穿插一些無傷大雅的範式編程風格.
加密
最基本的方法是發布pyc文件, 也就是將所有的.py源文件轉換成pyc對外發布. 詳情可以參考一個blog.
pyc有一個局限性是依賴於python解析器的版本, 使用某一個版本的python解釋器生成的pyc必須要在相同版本下的python解釋器下才可以正常工作.
使用上述方法可以方便的生成pyc, 初步的隱藏代碼了. 不過pyc依然可以被容易的破解, 所以另一種方案是藉助cython. cython可以將python文件轉換成c, 並編譯成pyd文件. 一般將核心模塊編譯成pyd, 這樣被破解的風險就大大降低了. 關於如何使用cython可以參考官網或者這篇文章 或者 這篇
有一個經驗之談, 你可以將所有每個模塊中的某個一個位置的變數抽出, 放到一個python文件中, 使用cython來處理這個文件. 這樣就會增加破解者從其他pyc文件中移除pyd文件依賴的難度了.
總結
Stackoverflow上有一個長貼關於隱藏python代碼實現的. 有興趣的可以讀這里. 技術上方法和手段都是有的, 但是還有不可忽視的一點是法律上的保護和約定.
什麼是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,從而防止不法分子的破解。
㈦ 如何才能看到.pyd文件裡面的內容
格式轉換
㈧ PyQt5文件夾中為什麼都是.pyd文件
看不到的,
Pyd實際上就是DLL文件,只是改了個後綴名而已!
用OD,IDA之類的反編譯,和反編譯普通的DLL和EXE一樣
㈨ 有python寫的程序是否必須開源
「開源」這個詞不只是說別人能否得到你的源代碼, 而是說, 你是否授權別人在一定條件下使用、修改、重新發布你的代碼。 所以開源什麼的完全取決於你自己。 當然相對來說, 解釋語言從技術上保護代碼的難度大一些, 但是從法律上說是沒差別的
㈩ python的腳本文件的擴展名是pyd
擴展名說明
1、通常寫Python腳本都是以.py為擴展名,.pyc二進制文件可以反編譯成.py文件。
2、反編譯軟體叫EasyPythonDecompiler,可以反編譯一個文件,也可以是一個文件夾。