python源码保护:将py编译成so

原创 ke10  2019-05-15 11:11  阅读 71 views 次 评论 0 条

应用场景

Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。

python的解释特性是将py编译为独有的二进制编码pyc文件,然后对pyc中的指令进行解释执行,但是pyc的反编译却非常简单,可直接反编译为源码,当需要将产品发布到外部环境的时候,源码的保护尤为重要.

准备工作

环境是可为linux/centos,我Windows10本地是Bash on Ubuntu on Windows,用起来很方便,命令行打bash即进入命令行

思路是先将py转换为c代码,然后编译c为so文件

所以要安装以下内容

python 安装:cython

pip install cython

linux 安装:python-devel,gcc

yum install python-devel

yum install gcc

 

初步编译

在testing文件夹下有your_file.py文件待编译,内容如下

#-* -coding: UTF-8 -* -
__author__ = 'Arvin'

class test:
    def say(self):
        print 'hello'

新建setup.py,内容如下

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules = cythonize(["your_file.py"]))

在bash中执行

cd testing
python setup.py build_ext

 

运行后当前目录会生成build文件夹,其中lib.linux-x86_64-2.7下就是我们想要的.so文件

现在so文件就可以像普通py文件一样导入了

cd build/lib.linux-x86_64-2.7/
python
from your_file import test
test().say()

编译成功的.so文件还可以加一下vmp壳,保证更强的安全性。

回复下载VMP最新破解版 [哈哈]

 

此处为隐藏的内容!
发表评论并刷新,才能查看
本文地址:https://www.sk15.net/archives/199.html
版权声明:本文为原创文章,版权归 ke10 所有,欢迎分享本文,转载请保留出处!
高性能云服务器特惠

发表评论


表情