Protect Python Scripts By Pyarmor
Pyarmor is a command line tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
Key Features
The obfuscated script is still a normal .py script, in most of cases the original python scripts can be replaced with obfuscated scripts seamlessly.
Provide many ways to obfuscate the scripts to balance security and performance
Rename functions/methods/classes/variables/arguments, irreversible obfuscation
Convert part of Python functions to C function, compile to binary by high optimize option, irreversible obfuscation
Bind obfuscated scripts to fixed machine or expire obfuscted scripts
Protect obfuscated scripts by Themida (Only for Windows)
Support Platforms
Python 3.7~3.15
Windows
Many linuxs, include embedded systems
Apple Intel and Apple Silicon
Quick Start
Install:
pip install pyarmor
Obfuscate the script foo.py:
pyarmor gen foo.py
This command generates an obfuscated script dist/foo.py like this:
from pyarmor_runtime import __pyarmor__
__pyarmor__(__name__, __file__, b'\x28\x83\x20\x58....')
Run it:
python dist/foo.py
More Resources
Metadata
Release files for pyarmor 9.2.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyarmor-9.2.8.tar.gz | 3.0 MB | Without provenance | Details for pyarmor-9.2.8.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyarmor-9.2.8-py3-none-any.whl | Python 3 | none | any | Details for pyarmor-9.2.8-py3-none-any.whl |
| pyarmor-9.2.8-3-py3-none-any.whl | Python 3 | none | any | Details for pyarmor-9.2.8-3-py3-none-any.whl |
| pyarmor-9.2.8-2-py3-none-any.whl | Python 3 | none | any | Details for pyarmor-9.2.8-2-py3-none-any.whl |
Total release size: 12.2 MB
Release files / pyarmor-9.2.8.tar.gz
| Download URL | pyarmor-9.2.8.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af94c9bd5012c399022285e27a914eade5dff8ac8418f658e43fe6cb7f95c605
|
|
BLAKE2b-256 checksum How to use checksums |
5f901bc9357354a10dfed39a41e5a291e3195f142f1796d9b534c7578533bb73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.10
|
Release files / pyarmor-9.2.8-py3-none-any.whl
| Download URL | pyarmor-9.2.8-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
569915c132a0b61ff8710a6481acba523ff24bcb7d46e6b635d2ce5be52f23d7
|
|
BLAKE2b-256 checksum How to use checksums |
13961966e344a547a81d124c2d611761ef114d745381d11df16bb8d32d1512aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.10
|
Release files / pyarmor-9.2.8-3-py3-none-any.whl
| Download URL | pyarmor-9.2.8-3-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
efe35ad07a5d5635e079a148a53c18896f217854c4b3b7855c3a384fc3128269
|
|
BLAKE2b-256 checksum How to use checksums |
5c62a66c02d96c0e323044ed3639a8a47bb84a3b39574900bec525aa3bd9e1dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.10
|
Release files / pyarmor-9.2.8-2-py3-none-any.whl
| Download URL | pyarmor-9.2.8-2-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1203453c9c3d83f38868d5001c30257c55d9ab25a4fe4d2f8ac64889440efdbd
|
|
BLAKE2b-256 checksum How to use checksums |
f0a43bc22804c0d6c65445d5ec33714defdf897162a74257fe1a256910b71619
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.10
|
Security for pyarmor 9.2.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.