Python编译成.so文件进行加密后调用的实现


Posted in Python onDecember 23, 2019

pyc的破解相对容易,使用cython将python文件编译成.so文件,能在一定程度上增强python源码的私密性。

编译成.so文件

环境准备:cython

测试脚本准备:test.py

#-*-coding: UTF-8 -* -
class test:
  def say(self):
    print 'hello'

脚本编译准备:

3.1 编写compile.py文件,内容如下:

#-*-coding: UTF-8 -* -
from distutils.core import setup
from Cython.Build import cythonize
setup(
  ext_modules = cythonize("test.py") #注意这里推荐使用相对路径,编译出的so文件在引用其他模块时可能会出现路径问题
)

3.2 编译出的so文件(test.so)在调用compile.py时所在目录的build/lib下

使用方式

编写useTest.py脚本:

#-*-coding: UTF-8 -* -
from test import test #注意test.so文件要在可访问到的路径下
test.say()

执行验证。

以上这篇Python编译成.so文件进行加密后调用的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
初步探究Python程序的执行原理
Apr 11 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
python pyheatmap包绘制热力图
Nov 09 Python
pow在python中的含义及用法
Jul 11 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
python中setuptools的作用是什么
Jun 19 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
pytorch fine-tune 预训练的模型操作
Jun 03 Python
浅析python中特殊文件和特殊函数
Feb 24 Python
Python pyecharts绘制条形图详解
Apr 02 Python
Cython编译python为so 代码加密示例
Dec 23 #Python
Python编译为二进制so可执行文件实例
Dec 23 #Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 #Python
python 实现屏幕录制示例
Dec 23 #Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 #Python
Python 内置函数globals()和locals()对比详解
Dec 23 #Python
Python 项目转化为so文件实例
Dec 23 #Python
You might like
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
基于Python log 的正确打开方式
2018/04/28 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
本科生学习总结的自我评价
2013/10/02 职场文书
教师求职信范文分享
2013/12/27 职场文书
工程承包协议书
2014/04/22 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
湘江北去观后感
2015/06/15 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
nginx共享内存的机制详解
2022/03/21 Servers
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang