Skip to content

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-ZH
Notifications You must be signed in to change notification settings

daniel442li/pyarmor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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

About

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-ZH

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 70.6%
  • Shell 15.3%
  • HTML 8.6%
  • JavaScript 3.5%
  • Batchfile 1.5%
  • Makefile 0.3%
  • Other 0.2%