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

yipeiwu_com7年前Python基础

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编程使用协程并发的优缺点

协程 协程是一种用户态的轻量级线程,又称微线程。 协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程...

基于python的BP神经网络及异或实现过程解析

基于python的BP神经网络及异或实现过程解析

BP神经网络是最简单的神经网络模型了,三层能够模拟非线性函数效果。 难点: 如何确定初始化参数? 如何确定隐含层节点数量? 迭代多少次?如何更快收敛? 如何获得全局最...

python黑魔法之编码转换

我们在使用其他语言的库做编码转换时,对于无法理解的字符,通常的处理也只有两种(或三种): 抛异常 替换成替代字符 跳过 但是在复杂的现实世界中,由于各种不靠谱,我们...

Python自动生成代码 使用tkinter图形化操作并生成代码框架

Python自动生成代码 使用tkinter图形化操作并生成代码框架

背景 在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写、或者copy了。 比如新建固定的代码框架...

Python代码打开本地.mp4格式文件的方法

想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件。我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放代码中指定的视频文件。 cla...