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文件扩展名和文件名方法
Feb 02 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
python实现在一个画布上画多个子图
Jan 19 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
python opencv实现图像配准与比较
Feb 09 Python
Python docx库删除复制paragraph及行高设置图片插入示例
Jul 23 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
php中计算时间差的几种方法
2009/12/31 PHP
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
使用angular写一个hello world
2015/01/23 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
Vue精简版风格概述
2018/01/30 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
python 调试冷知识(小结)
2019/11/11 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
GWebs公司笔试题
2012/05/04 面试题
中专毕业生自荐信范文
2013/11/28 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js