Cython编译python为so 代码加密
1. 编译出来的so比网上流传的其他方法小很多。
2. language_level 是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_level.
3. python setup.py build_ext --inplace 执行脚本
4. 以下是代码片段
from distutils.core import Extension, setupfrom Cython.Build import cythonize
from Cython.Compiler import Options# __file__ 含有魔术变量的应当排除,Cython虽有个编译参数,但只能设置静态。
exclude_so = ['__init__.py', "mixins.py"]
sources = ['core', 'libs']extensions = []
for source in sources:for dirpath, foldernames, filenames in os.walk(source):for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames):file_path = os.path.join(dirpath, filename)if filename not in exclude_so:extensions.append(Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"],extra_link_args = ["-Wl,--strip-all"]))Options.docstrings = False
compiler_directives = {'optimize.unpack_method_calls': False}
setup( # cythonize的exclude全路径匹配,不灵活,不如在上一步排除。ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build',language_level = 2 或者3 , compiler_directives = compiler_directives))
Cython编译python为so 代码加密相关推荐
- cython编译python_Cython编译python为so 代码加密示例
1. 编译出来的so比网上流传的其他方法小很多. 2. language_level 是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_le ...
- python编译成c语言-cython编译Python为c语言
第一种办法: 执行命令:cython test.py 结果:会在同一目录下面生成test.c文件 执行命令: gcc -c -fPIC -I /usr/include/python2.7 test.c ...
- python 代码加密
Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...
- Python代码加密,将python文件编译成so文件
Python程序(.py文件)是公开的,容易被别人拿去使用,为了更好保护知识产权,可以对python文件加密为.so文件. 首先,我们需要在Ubuntu系统中安装一些准备工具,包括python3-de ...
- python代码加密cython_利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- cython加密代码python_利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- Python代码加密混淆
python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...
- python代码加密 混淆_Python程序的混淆和加密
混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本. 同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了 ...
- 使用Cython提高python代码执行速度
2022.2.21更新 python程序执行效率是明显低于c的. 优化python代码的一个思路就是:将python的核心代码(一般是需要多次调用,或核心循环部分)转换成c语言. 不需要将程序重新改写 ...
最新文章
- 李航「机器学习」最全综述
- android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法
- centos7.6下的python3.6.9虚拟环境安装elastalert
- Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限
- python 连通域_连通域的原理与Python实现
- ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
- BZOJ4127Abs——树链剖分+线段树
- JavaScript学习总结(13)——JavaScript常用正则表达式
- 【HLSDK系列】服务端 AddToFullPack 函数
- 为什么开发者将迎来万亿美元黄金时代
- MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
- matlab ifft频率分辨率,[FFT] matlab中关于FFT的使用(理解频率分辨率、补零问题)
- okhttp post php,Android OkHttp 结合php 多图片上传实例
- 阿里云oss 简单上传
- 【CC3200AI 实验教程11】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-AI语音系统架构
- online judge start_01
- 机器学习--PCA(主成分分析)
- java反射学习---(框架设计的灵魂,你不收藏都后悔)
- vue项目引入markdown
- 6.18上午CVPR直播 | 清华三维视觉研究团队:三维人体重建与渲染、高精度人脸生成