A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
Project description
PyArmor is a command line tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. It protects Python scripts by the following ways:
Obfuscate code object to protect constants and literal strings.
Obfuscate co_code of each function (code object) in runtime.
Clear f_locals of frame as soon as code object completed execution.
Verify the license file of obfuscated scripts while running it.
Look at what happened after foo.py is obfuscated by PyArmor. Here are the files list in the output path dist:
foo.py _pytransform.so, or _pytransform.dll in Windows, or _pytransform.dylib in MacOS pytransform.py pytransform.key license.lic
dist/foo.py is obfuscated script, the content is:
from pytransform import pyarmor_runtime pyarmor_runtime() __pyarmor__(__name__, __file__, b'\x06\x0f...', 1)
All the other extra files called Runtime Files, which are required to run or import obfuscated scripts. So long as runtime files are in any Python path, obfuscated script dist/foo.py can be used as normal Python script.
The original python scripts can be replaced with obfuscated scripts seamlessly.
For details to visit protect-python-scripts-by-pyarmor.md
Support Platforms
Python 2.5, 2.6, 2.7 and Python3
win32, win_amd64, linux_i386, linux_x86_64, macosx_x86_64
Embedded Platform: Raspberry Pi, Banana Pi, Orange Pi, TS-4600 / TS-7600
Quick Start
Install:
pip install pyarmor
Obfuscate scripts:
pyarmor obfuscate examples/simple/queens.py
Run obfuscated scripts:
cd dist python queens.py
Pack obfuscated scripts with PyInstaller, py2exe, cx_Freeze etc.:
pip install pyinstaller pyarmor pack examples/py2exe/hello.py
Generate an expired license and run obfuscated scripts with new license:
pyarmor licenses --expired 2018-12-31 Customer-Jondy cp licenses/Customer-Jondy/license.lic dist/ cd dist/ python queens.py
Start webui, open web page in browser for basic usage of PyArmor:
pyarmor-webui
More Resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyarmor-5.3.10-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc1e9ca3ea42cc182078385ec093384736a77fbee194d5c683014ab1dcdcc65 |
|
MD5 | 4535a760f3b73478ba97f8c44f4e94e0 |
|
BLAKE2b-256 | edc995af45017c6fe0a2e8c3f7cc47a0cfa2d23dc83f88c05ae4a750b6602951 |