Sitelet https://web.archive.org/web/20200525160406/https://github.com/dashingsoft/pyarmor
Skip to content
A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
Python Shell HTML JavaScript Batchfile Makefile Other
Branch: master
Clone or download

Latest commit

Latest commit 2a48eb1 May 23, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Fix link format error May 23, 2020
plugins Fix format bugs Apr 27, 2020
src Change core version May 23, 2020
tests Fix win32 issue May 20, 2020
webapp Change link url Oct 30, 2018
.gitignore Ignore upload script Feb 8, 2018
LICENSE Clear license for scope Apr 29, 2020
LICENSE-ZH Clear license for scope Apr 29, 2020
MANIFEST.in Remove webui from source package Jan 15, 2020
README.md Add link to chinese document Apr 14, 2020
build-package.sh Fix typo Apr 9, 2020
setup.py Add new protection code template May 10, 2020

README.md

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

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

License

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.

Purchase

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. But it may not work with new versions, although up to now it works with all of versions.

Change Log

Report issuses

Any question feel free email to jondy.zhao@gmail.com, or click here to report an issue

You can’t perform that action at this time.