awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dashingsoft avatar

dashingsoft/pyarmor

0
View on GitHub↗
5,114 stars·356 forks·Python·11 viewspyarmor.dashingsoft.com↗

Pyarmor

Pyarmor is a toolset for protecting Python software through source code obfuscation, bytecode protection, and binary compilation. It functions as a code obfuscator, bytecode protector, and binary compiler designed to prevent reverse engineering and unauthorized access to Python scripts and packages.

The project distinguishes itself by providing a comprehensive software license manager that enables hardware-bound licensing. This allows developers to lock script execution to specific physical devices or virtual machines and enforce strict expiration dates via encrypted runtime keys.

Its broader capabilities cover secure distribution through the generation of obfuscated wheels and standalone executables for multiple platforms. The security surface includes runtime integrity checks, such as debugger attachment prevention, memory-level protection, and the conversion of Python functions into compiled C extensions.

The tool includes a command-line interface and supports integration into continuous integration pipelines to automate the obfuscation process during builds.

Features

  • Code Obfuscators - Transforms Python source code and bytecode into a complex, unreadable format to prevent reverse engineering.
  • Source Code Obfuscation - Transforms Python source code and bytecode into an unrecognizable but functional format to prevent reverse engineering.
  • Hardware ID Licensing - Locks software activation to specific physical machines or virtual machine IDs to prevent unauthorized transfer.
  • Runtime Execution Keys - Uses external encrypted key files to enforce expiration dates and access permissions during initialization.
  • Hardware Device Discovery - Retrieves device-specific identifiers such as hard disk serial numbers or IP addresses for license binding.
  • Bytecode Obfuscators - Transforms Python bytecode into a complex format to prevent static analysis and reverse engineering.
  • Python to C Compilation - Converts Python functions into compiled machine instructions to prevent decompilation and improve execution speed.
  • Bytecode Protectors - Encrypts and transforms compiled bytecode to prevent static decompilation and memory analysis.
  • Hardware-Bound Execution - Locks software execution to specific physical devices by validating unique hardware identifiers.
  • License Key Validations - Uses external encrypted key files to enforce expiration dates and access controls during script initialization.
  • Script Expiration Enforcement - Sets hard expiration dates or time limits after which protected scripts refuse to execute.
  • Software License Managers - Provides a comprehensive license manager to lock script execution to specific physical devices and enforce expiration dates.
  • Software License Verification - Implements runtime license verification, including hardware binding and expiration date enforcement.
  • Identifier Obfuscation - Renames functions, classes, methods, and variables to make source code irreversible while preserving logical execution.
  • Obfuscation Symbol Mapping - Replaces source code identifiers with obfuscated names while maintaining the logical execution flow.
  • Hardening Transformations - Employs specialized transformation modes to harden scripts and restrict execution environments.
  • Registration File Generation - Generates portable registration files from activation codes to enable software use on target machines.
  • Compilation Scope Controls - Allows precise control over which modules and functions are converted to native binaries to ensure compatibility.
  • Processing Pipeline Filters - Uses pattern matching to specify which files to include, exclude, or treat as data during the processing pipeline.
  • Anti-Debugging Mechanisms - Blocks the use of debuggers to prevent analysis of the script's execution at runtime.
  • Secure Distribution Packaging - Provides secure packaging of protected Python code into obfuscated wheels or standalone executables for multi-platform deployment.
  • Memory Protection Engineering - Encrypts data in system memory during execution to prevent information extraction via memory dumps.
  • Attribute Renaming Rules - Implements custom rules to determine which specific attributes within a chain are renamed during the obfuscation process.
  • Cross-Platform Obfuscation - Generates protected code for multiple target operating systems and architectures from a single host machine.
  • Interpreter Version Compatibility - Ensures that a single distribution of obfuscated code remains compatible across different versions of the Python interpreter.
  • Security Environment Verifications - Implements a specialized bootstrap sequence to verify environment integrity and detect debuggers before loading protected code.
  • Obfuscation Assertions - Uses assertion-based protection to ensure designated functions and modules are included in the obfuscation process.
  • Dependency Bundle Obfuscation - Extends obfuscation to include identified third-party and system dependencies within the distribution bundle.
  • Protected Executable Bundling - Combines obfuscated scripts and their dependencies into a single executable file or folder bundle for distribution.
  • Constant String Encryption - Hides sensitive plain-text strings within the source by encrypting them and decrypting them only during execution.
  • Module Access Restrictions - Prevents obfuscated modules from being imported by plain scripts or executed via standard interpreters.
  • Network Time Verifications - Synchronizes with remote time servers to prevent bypassing license expiration via local system clock changes.
  • Obfuscated Distribution Formats - Packages obfuscated code into standard distribution formats like Python wheels while maintaining protection.
  • Read-Only Module Enforcement - Restricts modules to be read-only at runtime, preventing plain scripts from modifying internal attributes or methods.
  • Runtime Environment Validations - Implements a startup sequence that verifies the execution environment and detects debuggers before loading protected code.
  • Runtime Security Hooks - Implements custom error handlers and hooks to integrate with external services and environment checks during script execution.
  • Obfuscation Level Tuning - Provides configuration options to balance the intensity of code protection against runtime execution speed.
  • Execution Flow Verifications - Verifies that functions and modules are imported and called correctly to prevent unauthorized code replacement.
  • Binary Integrity Verification - Uses hooks to verify the checksum of the runtime extension module, ensuring the binary remains untampered.
  • Obfuscation Integrity Checks - Performs runtime checks to verify that specific modules or functions remain obfuscated and have not been tampered with.
  • Compiled Constant Protection - Encrypts compiled code blocks to hide strings and constants within modules from being extracted.
  • Renaming Exclusions - Prevents specific identifiers or attribute chains from being renamed to resolve name binding errors.
  • Obfuscation Rule Management - Manages obfuscation settings through global, local, and module-specific configuration files to control the protection process.
  • Obfuscation Symbol Mappings - Provides symbol mapping files that allow developers to map obfuscated identifiers back to original source names for troubleshooting.
  • Package Distribution - Obfuscates and protects Python scripts from unauthorized access.
  • Distribution Tools - Obfuscate and protect Python scripts with licensing.

Star history

Star history chart for dashingsoft/pyarmorStar history chart for dashingsoft/pyarmor

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Pyarmor

Similar open-source projects, ranked by how many features they share with Pyarmor.
  • yck1509/confuserexyck1509 avatar

    yck1509/ConfuserEx

    3,762View on GitHub↗

    ConfuserEx is a security toolset for .NET applications that functions as a code obfuscator, binary encryptor, and application protector. Its primary purpose is to prevent reverse engineering by hiding sensitive application logic and data. The project employs specific hardening techniques including symbol renaming to hinder human readability and control-flow mutation to confuse decompilers. It further protects binaries by encrypting constants and resources to stop static analysis and memory dumping, while blocking the use of debuggers and profilers to prevent runtime analysis. Additional capa

    C#
    View on GitHub↗3,762
  • zeusssz/hercules-obfuscatorzeusssz avatar

    zeusssz/hercules-obfuscator

    217View on GitHub↗

    Hercules is a security tool designed to protect Lua source code from reverse engineering and unauthorized analysis. It functions as a code transformation engine that secures application logic by applying multiple layers of obfuscation, including control flow manipulation and the wrapping of scripts within a custom virtual machine environment. The project distinguishes itself through a multi-stage pipeline architecture that allows for the development of custom, multi-layered protection strategies. By replacing standard language instructions with custom opcodes and reorganizing linear code into

    Lualualua-obfuscatorobfuscator
    View on GitHub↗217
  • keygen-sh/keygen-apikeygen-sh avatar

    keygen-sh/keygen-api

    1,507View on GitHub↗

    Keygen is a software licensing and distribution API platform designed to validate product keys, manage user entitlements, and enforce device activation policies. It provides a comprehensive set of identity and licensing services that enable software vendors to control access to desktop and server applications while tracking usage limits and seat counts across hardware machines. The platform includes enterprise identity provider integration using standard SAML protocols, single sign-on authentication, and role-based access control with granular permission restrictions to secure system operatio

    Gherkinapifair-sourcelicense-keys
    View on GitHub↗1,507
  • aemkei/jsfuckaemkei avatar

    aemkei/jsfuck

    8,596View on GitHub↗

    jsfuck is an esoteric programming language and JavaScript source obfuscator. It functions as a code encoder that transforms standard JavaScript source code into a functional equivalent composed of a minimal character set. The project restricts its source code to six specific characters to hide logic and bypass security filters that block standard alphanumeric characters. It achieves this by using type coercion to derive symbols and accessing internal language objects through prototype manipulation. The system enables arbitrary JavaScript execution by converting strings into executable functi

    JavaScript
    View on GitHub↗8,596
See all 30 alternatives to Pyarmor→

Frequently asked questions

What does dashingsoft/pyarmor do?

Pyarmor is a toolset for protecting Python software through source code obfuscation, bytecode protection, and binary compilation. It functions as a code obfuscator, bytecode protector, and binary compiler designed to prevent reverse engineering and unauthorized access to Python scripts and packages.

What are the main features of dashingsoft/pyarmor?

The main features of dashingsoft/pyarmor are: Code Obfuscators, Source Code Obfuscation, Hardware ID Licensing, Runtime Execution Keys, Hardware Device Discovery, Bytecode Obfuscators, Python to C Compilation, Bytecode Protectors.

What are some open-source alternatives to dashingsoft/pyarmor?

Open-source alternatives to dashingsoft/pyarmor include: yck1509/confuserex — ConfuserEx is a security toolset for .NET applications that functions as a code obfuscator, binary encryptor, and… zeusssz/hercules-obfuscator — Hercules is a security tool designed to protect Lua source code from reverse engineering and unauthorized analysis. It… keygen-sh/keygen-api — Keygen is a software licensing and distribution API platform designed to validate product keys, manage user… javascript-obfuscator/javascript-obfuscator — This project is a JavaScript code protection tool designed to transform source code into a version that is difficult… aemkei/jsfuck — jsfuck is an esoteric programming language and JavaScript source obfuscator. It functions as a code encoder that… mishoo/uglifyjs2 — UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions…