pythonprotect,pyprotect是一个轻量级的python代码保护程序,使你的python项目更难以进行逆向工程...

pyprotect

pyprotect is a lightweight python code protector, makes your python project harder to reverse engineer.

Features

Cross platform

No need to install any extra dependents

Very easy to use

Only python3.x is supported by current version

How it works?

5926fa992e5c5654f0ea88a24cba4f4c.png

Build pyprotect

Download pybind11 library:

Create a directory "deps" in pyprotect root directory.

Download pybind11 project into the newly created deps directory.

Unzip pybind11 zip file, and change the extracted directory's name from something like "pybind11-x.x.x" to "pybind11"

Run these commands in pyprotect root directory:

mkdir build

cd build && cmake .. && make

And you can find libpyprotect.cpython-PYVERSION-PLATFORM.so in the objs directory.

Encrypt your python project

Command:

python encrypt.py -s SCRIPTS_DIR -e ENTRY_POINT_LIST -o OUTPUT_DIR [--exclude EXCLUDED_SCRIPT_LIST]

SCRIPTS_DIR is your python project root directory.

ENTRY_POINT_LIST is a comma separated list of file function pair which is directly ran as the entry point of your programme. For example "app.py:main,test_app.py:run_test".

OUTPUT_DIR is the destination directory to store the encrypted python scripts.

EXCLUDED_SCRIPT_LIST is a comma separated list of python scripts which you don't wan to encrypt.

You need to put libpyprotect.cpython-PYVERSION-PLATFORM.so into the OUTPUT_DIR as part of your programme.

Configuration [IMPORTANT]

For security reason you should change the AES key and IV, which is used to encrypt/decrypt the python scripts, to a stronger value. And you may want to change the file extension of encrypted python scripts (which is ".pye" by default).

You can find these macros or variables in config.h and encrypt.py:

PYPROTECT_KEY

PYPROTECT_IV

PYPROTECT_EXT_NAME

You need to change the two files both. Please change the PYPROTECT_KEY and PYPROTECT_IV to a safer value.

Roadmap

Support python3 scripts

Support python2.7 scripts

Anti debugging

Software license control

License

pyprotect is provided under a BSD-style license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值