您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)使用pyinstaller怎么實現(xiàn)一個超級加密功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
pip install Cython pip install pyinstaller
我安裝的是最新的2019,選擇安裝界面的時候選如下圖這個和python的
python應(yīng)該是可選的,但是我怕麻煩就直接選上了
from distutils.core import setup from Cython.Build import cythonize setup( ext_modules = cythonize(["main8_2.py"]), # add.py 為需要打包的文件名,不能包含中文 ) #python setup.py build_ext --inplace #在把.cp36-win_amd64刪掉
這個是固定的
里面是自己要加密轉(zhuǎn)c的的py文件,我是把所有功能都封裝在這個里面了,到時候引入包直接調(diào)用他
命令行運行
python setup.py build_ext --inplace
結(jié)束后會在當(dāng)前路徑下生成一個main8_2.cp36-win_amd64的文件,他的后綴名就不用管它了,直接把你要加密的那個包額外的部分刪除掉就行了,我刪除的部分就是.cp36-win_amd64,這里地的確的確是有一個點號的
然后把相應(yīng)的py文件換個路徑,好像可以不換,優(yōu)先級不一樣,為了避免麻煩,我也懶得查資料,所以我就換了他的路徑
這個py現(xiàn)在變成了一個pyd文件,還有一個c文件,可以把它理解成一個包,跟py的包一樣去調(diào)用就行了
要把所有調(diào)用的包都導(dǎo)入一次
我用的pycharm雖然想報錯,但是運行是沒有錯誤的
雖然這種法幾乎沒多大用處,但是由總比沒有要好
pyinstaller -i fa.ico xxx.py -F --key hsakdhiia8 --clean
最終成成功打包exe,在當(dāng)前路徑下的dist可以找到可執(zhí)行文件
補充:python程序的加密和打包
在程序發(fā)布時,有時會有程序加密和打包的需求,SO:
build.py
#!/usr/bin/python #encoding: gb2312 filename="client_missions.py" print"--------------------------------------" print" python build.py build_ext --inplace" print"--------------------------------------" from distutils.coreimportsetup from distutils.extensionimportExtension from Cython.Distutilsimportbuild_ext importsys efile=filename.split('.')[0] setup( cmdclass = {'build_ext': build_ext}, ext_modules =[Extension("%s"%efile , ["%s"%filename])] )
python build.py build_ext --inplace
打包成一個文件
pyinstaller --onefile MoonServer.py
關(guān)于使用pyinstaller怎么實現(xiàn)一個超級加密功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。