日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python代码加密 混淆_Python程序的混淆和加密

發(fā)布時(shí)間:2023/12/10 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python代码加密 混淆_Python程序的混淆和加密 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

混淆

為了增加代碼閱讀的難度, 源代碼的混淆非常必要, 一個(gè)在線的Python代碼混淆網(wǎng)站. 如果你覺得有用, 可以購(gòu)買離線版本.

同時(shí)需要注意的是, 這個(gè)混淆其實(shí)還是被很多人懷疑的, 因?yàn)榧词够煜? 也沒有改變代碼的結(jié)構(gòu). 所以, 必要的話, 在編程的時(shí)候, 可以故意做點(diǎn)提高逆向難度的事情:

結(jié)構(gòu)稍微改變, 合并幾個(gè)類到同一個(gè)文件.

面向?qū)ο蟮慕Y(jié)構(gòu)中, 偶爾穿插一些無(wú)傷大雅的范式編程風(fēng)格.

加密

最基本的方法是發(fā)布pyc文件, 也就是將所有的.py源文件轉(zhuǎn)換成pyc對(duì)外發(fā)布. 詳情可以參考一個(gè)blog.

pyc有一個(gè)局限性是依賴于python解析器的版本, 使用某一個(gè)版本的python解釋器生成的pyc必須要在相同版本下的python解釋器下才可以正常工作.

使用上述方法可以方便的生成pyc, 初步的隱藏代碼了. 不過(guò)pyc依然可以被容易的破解, 所以另一種方案是借助cython. cython可以將python文件轉(zhuǎn)換成c, 并編譯成pyd文件. 一般將核心模塊編譯成pyd, 這樣被破解的風(fēng)險(xiǎn)就大大降低了. 關(guān)于如何使用cython可以參考官網(wǎng)或者這篇文章 或者 這篇

有一個(gè)經(jīng)驗(yàn)之談, 你可以將所有每個(gè)模塊中的某個(gè)一個(gè)位置的變量抽出, 放到一個(gè)python文件中, 使用cython來(lái)處理這個(gè)文件. 這樣就會(huì)增加破解者從其他pyc文件中移除pyd文件依賴的難度了.

總結(jié)

Stackoverflow上有一個(gè)長(zhǎng)貼關(guān)于隱藏python代碼實(shí)現(xiàn)的. 有興趣的可以讀這里. 技術(shù)上方法和手段都是有的, 但是還有不可忽視的一點(diǎn)是法律上的保護(hù)和約定.

什么是pyc文件

pyc是一種二進(jìn)制文件,是由py文件經(jīng)過(guò)編譯后,生成的文件,是一種byte code,py文件變成pyc文件后,加載的速度有所提高,而且pyc是一種跨平臺(tái)的字節(jié)碼,是由python的虛擬機(jī)來(lái)執(zhí)行的,這個(gè)是類似于JAVA或者.NET的虛擬機(jī)的概念。pyc的內(nèi)容,是跟python的版本相關(guān)的,不同版本編譯后的pyc文件是不同的,2.5編譯的pyc文件,2.4版本的 python是無(wú)法執(zhí)行的。

什么是pyo文件

pyo是優(yōu)化編譯后的程序 python -O 源文件即可將源程序編譯為pyo文件

什么是pyd文件

pyd是python的動(dòng)態(tài)鏈接庫(kù)。

為什么需要pyc文件

這個(gè)需求太明顯了,因?yàn)閜y文件是可以直接看到源碼的,如果你是開發(fā)商業(yè)軟件的話,不可能把源碼也泄漏出去吧?所以就需要編譯為pyc后,再發(fā)布出去。當(dāng)然,pyc文件也是可以反編譯的,不同版本編譯后的pyc文件是不同的,根據(jù)python源碼中提供的opcode,可以根據(jù)pyc文件反編譯出

py文件源碼,網(wǎng)上可以找到一個(gè)反編譯python2.3版本的pyc文件的工具,不過(guò)該工具從python2.4開始就要收費(fèi)了,如果需要反編譯出新版本的pyc文件的話,就需要自己動(dòng)手了(俺暫時(shí)還沒這能力^--^),不過(guò)你可以自己修改python的源代碼中的opcode文件,重新編譯

python,從而防止不法分子的破解。

總結(jié)

以上是生活随笔為你收集整理的python代码加密 混淆_Python程序的混淆和加密的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。