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.
Refer to How PyArmor Does It
- 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 docs/platforms.rst
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
Generate an expired license and run obfuscated scripts with new license
pyarmor licenses --expired 2018-12-31 PRODUCT-SN-0001
cp licenses/PRODUCT-SN-0001/license.lic dist/pytransform/
python dist/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
PyArmor is published as shareware, free trial version never expires, but there are some limitations:
- The maximum size of code object is about 32768 bytes in trial version
- All the trial version uses same public capsule other than private capsule
- In trial version the module could not be obfuscated by advanced mode if there are more than about 30 functions (code objects) in this module.
- ...
For details, refer to PyArmor License.
Click Purchase,
A registration keyfile generally named "pyarmor-regfile-1.zip" will be sent to your by email immediately after payment is completed successfully. There are 3 files in the archive:
- REAME.txt
- license.lic (registration code)
- .pyarmor_capsule.zip (private capsule)
Run the following command to take this keyfile effects:
pyarmor register /path/to/pyarmor-regfile-1.zip
Check the registeration information:
pyarmor register
The registration code is valid forever, it can be used permanently.
Any question feel free email to [email protected], or click here to report an issue
If you think PyArmor is awesome, please give this issue an up vote on awesome-python.