PyArmor
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.
Also refer to The Security of PyArmor
Support Platforms
- Python 2.5, 2.6, 2.7 and Python3
- Prebuilt Platform: win32, win_amd64, linux_i386, linux_x86_64, macosx_x86_64
- Embedded Platform: Raspberry Pi, Banana Pi, Orange Pi, TS-4600 / TS-7600
Refer to Standard Platform Names
Quick Start
Installation
pip install pyarmor
Obfuscate scripts
pyarmor obfuscate foo.py
Run obfuscated scripts
python dist/foo.py
Pack obfuscated scripts into one bundle
pip install pyinstaller
pyarmor pack foo.py
Obfuscate scripts with an expired license
pyarmor licenses --expired 2018-12-31 r001
pyarmor obfuscate --with-license licenses/r001/license.lic foo.py
There is also a web-ui package pyarmor-webui
pip install pyarmor-webui
Start webui, open web page in browser (snapshots)
pyarmor-webui
More usage, refer to