基于pyinstaller超級加密操作(加殼和轉(zhuǎn)c)
1.首先安裝上必須的包
pip install Cython pip install pyinstaller
2.最好是安裝vs 版本的話
我安裝的是最新的2019,選擇安裝界面的時候選如下圖這個和python的

python應(yīng)該是可選的,但是我怕麻煩就直接選上了
3.然后接下來就是寫setup.py文件了
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)先級不一樣,為了避免麻煩,我也懶得查資料,所以我就換了他的路徑
4.接下來就是主程序進(jìn)行調(diào)用了
這個py現(xiàn)在變成了一個pyd文件,還有一個c文件,可以把它理解成一個包,跟py的包一樣去調(diào)用就行了
5.還有很重要的一點
要把所有調(diào)用的包都導(dǎo)入一次

我用的pycharm雖然想報錯,但是運行是沒有錯誤的
6.再用key進(jìn)行加密
雖然這種法幾乎沒多大用處,但是由總比沒有要好
pyinstaller -i fa.ico xxx.py -F --key hsakdhiia8 --clean
最終成成功打包exe,在當(dāng)前路徑下的dist可以找到可執(zhí)行文件
補充:python程序的加密和打包
在程序發(fā)布時,有時會有程序加密和打包的需求,SO:
用CYTHON編譯加密:
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
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】
今天主要是來說一下怎么可視化來監(jiān)控你的爬蟲的狀態(tài)。文中通過實例代碼給大家分析了Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài),感興趣的朋友一起看看吧2018-08-08
pytorch 更改預(yù)訓(xùn)練模型網(wǎng)絡(luò)結(jié)構(gòu)的方法
今天小編就為大家分享一篇pytorch 更改預(yù)訓(xùn)練模型網(wǎng)絡(luò)結(jié)構(gòu)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實現(xiàn)WGS84火星百度及web墨卡托四種坐標(biāo)系相互轉(zhuǎn)換
主流被使用的地理坐標(biāo)系并不統(tǒng)一,常用的有WGS84、GCJ02(火星坐標(biāo)系)、BD09(百度坐標(biāo)系)以及百度地圖中保存矢量信息的web墨卡托,本文利用Python編寫相關(guān)類以實現(xiàn)4種坐標(biāo)系統(tǒng)之間的互相轉(zhuǎn)換2023-08-08
python實現(xiàn)圖片加文字水印OPenCV和PIL庫
本文來為大家介紹一下,使用python中的庫實現(xiàn)給圖片添加文字水印,openCV可以給圖片添加水印,如果要添加漢字水印那就要使用PIL庫2021-09-09
可能是最全面的 Python 字符串拼接總結(jié)【收藏】
在 Python 中字符串連接有多種方式,這里簡單做個總結(jié),應(yīng)該是比較全面的了,方便以后查閱,需要的朋友可以參考下2018-07-07
python for循環(huán)remove同一個list過程解析
這篇文章主要介紹了python for循環(huán)remove同一個list過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

