使用Cython保護Python源代碼

使用Cython保護Python源代碼

**保護您的Python源不受不必要的讀者說起來容易做起來難,因爲.pyc字節碼是可反編譯的,並且混淆很容易被反向工程。我花了一段時間才弄清楚隱藏Python代碼的正確方法......
Cython是一個優化的靜態編譯器,可以將.py模塊轉換爲高性能的C文件,生成的C文件可以毫不費力地編譯到本機二進制庫中。編譯完成後,無法將編譯庫轉換回可讀的Python源代碼!

1. 安裝 Cython

pip install cython

2. 添加 hello.pyx

假設在hello.pyx文件中的一個簡單的“hello world”腳本:

def say_hello_to(name):
    print("Hello %s!" % name)

注意文件後綴是pyx

3. 添加相應的setup.py腳本

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

setup(name='Hello world app',
      ext_modules=cythonize("hello.pyx"))

4. 編譯

根據您使用的Python版本,運行:

python setup.py build_ext --inplace

成功構建後,您可以刪除.c和.py文件,並僅保留.so文件

5.測試

#!/usr/bin/env python
from hello import say_hello_to

say_hello_to('mstools')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章