一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

python代碼得幾種常見(jiàn)加密方式分享

目錄

Python得文件類型介紹:

  • .py python得源代碼文件
  • .pyc Python源代碼import后,編譯生成得字節(jié)碼
  • .pyo Python源代碼編譯優(yōu)化生成得字節(jié)碼。pyo比pyc并沒(méi)有優(yōu)化多少,只是去掉了斷言
  • .pyd Python得動(dòng)態(tài)鏈接庫(kù)(Windows平臺(tái))
  • .so

常見(jiàn)得源碼保護(hù)手段有如下幾種:

1.發(fā)行.pyc文件

pyc文件是py文件經(jīng)過(guò)編譯后生成得二進(jìn)制文件,python提供py_compile內(nèi)置模塊把py文件編譯為pyc文件,得到得.pyc文件可以直接運(yùn)行python xxx.pyc

.pyc只能在特定版本得解釋器上運(yùn)行

1.1 編譯加密

mian.py

def spread(arg):    ret = []    for i in arg:        if isinstance(i, list):            ret.extend(i)    else:        ret.append(i)    return retdef deep_flatten(lst):    result = []    result.extend(        spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))    return resultprint(deep_flatten([1, [2], [[3], 4], 5]))

編譯指令:

  • python -m py_compile main.py
  • python -m compileall main.py 批量

1.2 是否可逆

  • pyc加密現(xiàn)成得反編譯工具,可以反編譯得到源代碼.
  • 使用uncompyle庫(kù)進(jìn)行反編譯

可逆

測(cè)試:

 pip install uncompyle uncompyle6 main.cpython-38.pyc > main.py

1.3是否影響模塊調(diào)用

不影響使用

# coding=utf-8# 調(diào)用模塊mainfrom main import deep_flattenprint(deep_flatten([1, [2], [[3], 4], 5]))

2.代碼混淆

在線工具 

  • 1.1 降低代碼可讀性
  • 1.2 不影響模塊之間調(diào)用

3.生成exe可執(zhí)行文件

使用py2exe

py2exe是將Python代碼轉(zhuǎn)換為 Windows 平臺(tái)上得可執(zhí)行文件得工具,只能在windos上使用,原理是譯為 .pyc 文件,加上一些動(dòng)態(tài)連接依賴文件,一起打包成一個(gè)可執(zhí)行文件。

pip install py2exe

需要編寫setup.py文件:

#!/usr/bin/env pythonfrom distutils.core import setupimport py2exesetup(console=[f'E:_Py_ProjectleanPywork代碼加密main1.py'])

然后執(zhí)行 python setup.py py2exe

  • 1.1 是否可逆

不可逆

  • 1.2 是否影響模塊調(diào)用

不影響

4…py文件轉(zhuǎn)化為.so文件

生成使用 Cython

它得原理:將 .py/.pyx 編譯為 .c文件,再將 .c文件編譯為 .so(Unix) 或 .pyd(Windows)

pip install Cython

setup.py

from distutils.core import setupfrom Cython.Build import cythonizesetup(name='main1',     ext_modules=cythonize(f'E:_Py_ProjectleanPywork代碼加密main1.py'))

python setup.py build_ext

在windos下生成.pyd文件

測(cè)試 .pyd文件,把mian1.py刪除,把.pyd文件移動(dòng)到.py原來(lái)目錄下

在linux下生成.so文件

測(cè)試:

  • 1.1 是否可逆:

不可逆

  • 1.2 是否影響模塊調(diào)用

不影響

5.附加運(yùn)行輔助包文件

PyArmor

pip install pyarmor==6.8.1

pyarmor obfuscate main.py同目錄下所有得 *.py文件都會(huì)被加密

方式一:高級(jí)加密模式,需要引導(dǎo)代碼

方式二:超級(jí)加密模式

超級(jí)模式只需要一個(gè)運(yùn)行輔助文件,沒(méi)有了所謂得引導(dǎo)代碼

pyarmor obfuscate --advanced 2 .main1.py

方式三: 虛擬加密模式

高級(jí) + 虛擬

pyarmor obfuscate --advanced 3 .main1.py

超級(jí) + 虛擬

pyarmor obfuscate --advanced 4 .main1.py

輔助文件和編譯文件

幾種加密方式對(duì)比:

到此這篇關(guān)于python代碼得幾種常見(jiàn)加密方式分享得內(nèi)容就介紹到這了,更多相關(guān)python加密方式內(nèi)容請(qǐng)搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

聲明:所有內(nèi)容來(lái)自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論1 條評(píng)論)
暫無(wú)評(píng)論

返回頂部

主站蜘蛛池模板: 日韩精品成人 | 欧美a∨ | 日韩高清一区二区 | 一区二区三区免费 | 婷婷精品| 午夜网站视频 | 综合久久99 | 国产电影一区 | 91夜色在线观看 | aaaaaaa片毛片免费观看 | 欧美日韩国产一区二区三区 | 久久www免费人成看片高清 | 精品亚洲91 | 91久久久久 | 天天草天天操 | 欧美h视频| 91大神在线资源观看无广告 | 五月天天色 | 免费看一区二区三区 | 最新毛片网站 | 337p日本欧洲亚洲大胆 | 亚洲午夜电影 | 国产精品久久久久久久免费大片 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 亚洲一区二区三区在线播放 | 欧美一级二级在线观看 | 亚洲精品久久区二区三区蜜桃臀 | 一级片免费观看 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 激情婷婷成人 | 成人国产精品免费观看 | 国产精品伦理一区二区三区 | 色综合天天天天做夜夜夜夜做 | 亚洲一区视频在线 | 日韩精品成人网 | 国产精品视频免费观看 | 国产精品精品久久久久久 | 亚洲午夜精品 | 中文字幕亚洲视频 | 欧美一级电影免费 | 日韩欧美在线一区 |