Important

Here only includes Pyarmor 9.1 new features, other functions please check Pyarmor 9.0 Documentation

1. Introduction

In order to get high performance after the scripts are obfuscated, Pyarmor 9.1 introduces 2 new scripts:

  • MINI Script

    The main purpose is to improve performance, and the obfuscated scripts is designed to provide web services

    Compared to previous obfuscated scripts

    • Using a simplified extension pyarmor_mini

    • So no features like expired scripts, binding scripts to devices

    • Support freethreading in Python 3.13+

    MINI Script need refactor to prevent scripts from be reversed. If no refactor, the security level is almost same as .pyc file

  • RFT Script

    RFT Scripts simply rename functions, variables, classes, and methods within the script while keep the original script structure

    MINI Script still need binary extension which make running obfuscated scripts more complex

    But RFT scripts need not binary extension, they can be used wherever normal Python scripts can be used

    For example, use it in WASM, pass it to Nuitka, CPython, even Pyarmor to continue processing

Pyarmor 9.1 uses Project to manage all the scripts to handle the complex relations between modules and packages, so that the scripts could be reformed correctly.

Pyarmor 9.2.2 introduces 2 new scripts:

  • ECC Script

    ECC Script only converts the statements in the function, just think of function body is replaced by C code which are compiled to machine instruction in the final obfuscated scripts. It need C compiler in build time and the obfuscation is irreversible.

    Please refer to ECC Script example in the Concepts

  • VMC Script

    VMC Script is similar with ECC Script, but the function body is replaced by VM code defined by Pyarmor. It need not C compiler in build time, but the obfuscation is reversible.

    Please refer to VMC Script example in the Concepts