Pyarmor Versions Save

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

v8.5.8

2 weeks ago

New Feature

  • Option --pack support specfile. If plain script could be packed by one .spec file, it could be used by --pack to pack the obfuscated script. For example, pyarmor gen --pack foo.spec foo.py

Fix issues

  • Fix pack issues with extra PyInstaller options
  • Fix pack issue: some special binary extensions are missed in the final bundle
  • Fix pack issue: in Windows case insensitive path does not work
  • Fix issue #1758: --pack could not work with --enable-rft, --assert-import or assert-call
  • Fix issue #1756: Match case which form is Class.Name wont work with --obf-code 2

v8.5.6

3 weeks ago

Fix issues:

  • Fix issue #1745: --pack with PyInstaller 6.6 raises exception

v8.5.5

3 weeks ago

New feature:

  • Support new configuration item runtime:patch_extension to enable/disable patching extension pyarmor_runtime, the main purpose is to solve code sign issue in Darwin
  • Option --pack supports new value FC, DC to clean output path without prompt

Fix issues:

  • Refine pack output log to make it clear

v8.5.4

3 weeks ago

New feature:

Option --pack support constant onefile and onedir, both of them work for PyInstaller 6.0+

In previous versions --pack only accepts executable generated by PyInstaller < 6.0.

Since v8.5.4, it accepts string constant onefile or onefolder, support PyInstaller 6.0+ and previous versions too. User need not call PyInstaller, pyarmor will do everything. For example, obfuscate plain script main.py and pack the output to one executable just by this one command:

pyarmor gen --pack onefile main.py

v8.5.3

4 weeks ago

Upgrade Notes:

The behaviour of option --private is changed

In previous versions the plain script could NOT import the module obfuscated by --private. Now the plain script could import this obfuscated module, but could not visit module attribute __dict__.

If still need keep old behaviours, run command pyarmor cfg private_module_as_restrict=1 once before generating the obfuscated scripts.

Fix issues:

  • Fix issue #1712: Group license does't work in Windows.x86
  • Fix issue: registering Pyarmor failed if firewall blocks extension pytransform3

v8.5.2

1 month ago

Fix issues:

  • pyarmor man raises normpath issuse

v8.5.1

2 months ago

Fix issues:

  • In some Windows x86 platform it raises exception: unsupported arch "x86"
  • Fix Python 3.12 issue #1710: ModuleNotFoundError: No module named 'distutils'

v8.5.0

2 months ago

Upgrade notes:

  • Change option -e/--expired behaviour. In the previous versions, it checks internet time, but now it will check local time by default. After run pyarmor cfg nts="pool.ntp.org", it will be same as previous versions.
  • When something is wrong with pyarmor, it will print suggestion solutions in the console

New features:

  • Add new plugin post_script which could be used to patch each obfuscated script
  • Runtime key could be obfuscated if config option obf_key_mode is set by pyarmor cfg obf_key_mode=1
  • Support binding obfuscated script by machine id, refer to option -b/--bind-device in the man page
  • Add new command man, pyarmor man could help Pyarmor users to learn and use Pyarmor by web-ui, quickly find solutions when something is wrong, and report issues in standard form

Fix issues:

  • --private doesn't work with --pack (PyInstaller), if scripts are obfuscated by --private, the executable bundle will raise protection error unauthorized use of script
  • Fix Python 3.12 issue: pyarmor raise exception no module named 'distutils'

v8.4.7

3 months ago

Fix issues:

  • Fix issue #1585: some special modules could be imported by plain script even if --restrict option is used
  • Fix issue #1647: Raise error invalid co header size when obfuscating special scripts
  • Fix issue #1668: Raise error invalid device info "xxxxxx" when binding to too short harddisk serial number
  • Fix bug: pyarmor.cli.hdinfo could not get "Multiple Mac addresses", it raises error Unsupported hardware type with name

v8.4.6

5 months ago

New features:

  • Print hardware infomation by python -m pyarmor.cli.hdinfo
  • Protect private module attribute __dict__ which could be got from plain scripts

Fix issues:

  • Fix issue #1606: when run pip install pyarmor in FreeBSD, the dependent package pyarmor.cli.core.freebsd is not installed automatically
  • Fix issue #1610: private module could be imported by plain scripts
  • Fix issue #1628: pyarmor reg pyarmor-regfile-xxxx.zip may raise error invalid license token in some Linux network, for example, some AWS cloud runners