Skip to main content

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/
    __init__.py
    _pytransform.so or _pytransform.dll or _pytransform.dylib

dist/foo.py is obfuscated script, the content is:

from pytransform import pyarmor_runtime
pyarmor_runtime()
__pyarmor__(__name__, __file__, b'\x06\x0f...', 1)

There is an extra folder pytransform called Runtime Package, which are the only required to run or import obfuscated scripts. So long as this package is in any Python path, the obfuscated script dist/foo.py can be used as normal Python script.

The original python scripts can be replaced with obfuscated scripts seamlessly.

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 foo.py

Run obfuscated scripts:

cd dist
python 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

Pack obfuscated scripts to one bundle:

pip install pyinstaller
pyarmor pack foo.py

There is also a web-ui package pyarmor-webui:

pip install pyarmor-webui

Start webui, open web page in browser:

pyarmor-webui

If there is any question, first check these questions and solutions, it may help you solve the problem quickly.

If there is no solution, for technical issue, click here to report an issue according to the issue template, for business and security issue send email to jondy.zhao@gmail.com

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

pyarmor-6.6.2.zip (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyarmor-6.6.2-py2.py3-none-any.whl (2.3 MB view details)

Uploaded Python 2Python 3

File details

Details for the file pyarmor-6.6.2.zip.

File metadata

  • Download URL: pyarmor-6.6.2.zip
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for pyarmor-6.6.2.zip
Algorithm Hash digest
SHA256 188c4176a0e5155d4d3d2102a6c72a3dca050b8f8625a2fe78d402953dd37419
MD5 5d68d693f6f7d7496ebe6cecc2c043bd
BLAKE2b-256 b45ed22a7180e15997d207e77ae8257e20e41abb62112d6448eb1837ad950393

See more details on using hashes here.

File details

Details for the file pyarmor-6.6.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pyarmor-6.6.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for pyarmor-6.6.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3676cf3e89eab45b23cb7cad17c20b86834f609581b6a2f84286d0bb21ccdb8f
MD5 bc122d1d46aa954ac3ec73b11e44f3c4
BLAKE2b-256 823114b14a3288d3cb9ee148e6c93be14eb80c2d1d11e4ff4ca7a8d46fce8e55

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page