Local Python Code Protector

GitHub Repository DOI Python Version

Welcome to the Local Python Code Protector! This powerful command-line tool enables developers to protect and secure their Python code through advanced encryption and obfuscation techniques. It supports both Python source files (.py) and compiled Python files (.pyc), offering flexible options for source code protection.

Whether you're sharing code with clients, collaborating with colleagues, or deploying applications on servers, the Local Python Code Protector ensures your intellectual property remains secure, aligning with Python code security best practices.

Version: 1.2 © 2024 αβ.net (alphabetanet.com) - Alpha Beta Network. All Rights Reserved.

Table of Contents

Key Features

How It Works

The Local Python Code Protector provides the following main functionalities:

  1. Obfuscate Python Source Files: Protect Python source files (.py) by applying multi-level encryption and obfuscation techniques.
  2. Obfuscate Compiled Python Files: Enhance security of compiled Python files (.pyc) using unique recompilation technology.
  3. Restrict Code Execution: Limit code execution to specific devices using hardware IDs (HWIDs).
  4. Set Expiration Dates: Define an expiration date after which the code will not run.
  5. Add Custom Messages: Include custom messages to be displayed when the protected code is executed.

Getting Started

Prerequisites

Installation

Clone the repository and navigate to the project directory:

git clone https://github.com/alphabetanetcom/local-python-code-protector.git

cd local-python-code-protector

Alternatively, download the local_python_code_protector.py script directly to your local machine.

Installing Required Packages

The script requires the following Python packages:

Install them using pip:

pip install requests psutil cryptography decompyle3 xdis astor

Ensure that you are using the correct version of pip associated with your Python 3 installation. If you are using a virtual environment, activate it before installing the packages.

Usage

The Local Python Code Protector provides the following main functionalities:

Obfuscating Python Source Files

Protect and obfuscate Python source files (.py) by applying multi-level encryption and obfuscation techniques.

Command Syntax:

python local_python_code_protector.py -f FILE_PATH [OPTIONS]

Parameters:

Example:

python local_python_code_protector.py -f my_script.py

Obfuscating Compiled Python Files

Protect compiled Python files (.pyc) using unique recompilation technology to enhance security.

Command Syntax:

python local_python_code_protector.py -f FILE_PATH [OPTIONS]

The parameters are the same as for source files.

Example:

python local_python_code_protector.py -f my_script.pyc

Additional Features

Restricting Code Execution to Specific Devices

Restrict code execution to specific devices by specifying their hardware IDs (HWIDs).

Parameter:

Example:

python local_python_code_protector.py -f my_script.py -d 123456789012345678,987654321098765432

Setting an Expiration Date

Set an expiration date for the protected code. After this date, the code will not run.

Parameter:

Example:

python local_python_code_protector.py -f my_script.py -e 2024-01-01

Adding Custom Messages

Add a custom message that will be displayed when the protected code is executed.

Parameter:

Example:

python local_python_code_protector.py -f my_script.py -m "This is a licensed instance. Unauthorized use is prohibited."

Usage Examples

Basic Obfuscation of a Source File

Obfuscate a Python source file without any additional restrictions.

python local_python_code_protector.py -f my_script.py

The protected file will be saved in the Local_Protected directory as a compiled .pyc file.

Obfuscation with Device Restrictions

Restrict the execution of the protected code to specific devices.

python local_python_code_protector.py -f my_script.py -d 123456789012345678,987654321098765432

Only devices with the specified HWIDs can execute the protected code.

Obfuscation with Expiration Date

Set an expiration date for the protected code.

python local_python_code_protector.py -f my_script.py -e 2024-01-01

After January 1, 2024, the code will not run.

Obfuscation with All Features

Combine device restrictions, expiration date, and a custom message.

python local_python_code_protector.py -f my_script.py -d 123456789012345678 -e 2024-01-01 -m "License valid until 2024-01-01."

The code will only run on the device with HWID 123456789012345678 and before January 1, 2024.

Generating Hardware IDs

To restrict code execution to specific devices, you need to obtain the hardware IDs (HWIDs) of those devices. Use the system_hardware_id_generator.py script to generate the HWID.

Usage:

  1. Run the script on the target device:
python system_hardware_id_generator.py
  1. The script will display the HWID:
Your Hardware ID (HWID) is: 123456789012345678

Use this HWID with the -d or --device parameter when obfuscating your code.

Recommendations and Best Practices

Application Areas

The Local Python Code Protector can be effectively applied in the following areas:

Security and Best Practices

By implementing Python secure code transfer protocols, the Alpha Beta Network strives to keep code better protected during transmission. This commitment to security extends to various aspects of the platform, aiming to improve Python code security best practices.

While no system can guarantee absolute security, the Local Python Code Protector represents an effort to empower developers to share their code with increased confidence, significantly enhancing security with new solutions that we implement.

The Local Python Code Protector can also be effectively used to further protect licensed source code files created by the Alpha Beta Network cloud platform, such as Python Obfuscator Online and Secure Python Code Manager Script.

Contact Information

If you experience issues or have questions not covered in this documentation, please contact the Alpha Beta Network Research Team.

Stay connected to receive updates, provide feedback, and get early access to extended functionality.

Licensing

This project is currently in Beta Testing and available for free.

License Agreement

© 2024 αβ.net (alphabetanet.com) - Alpha Beta Network. All Rights Reserved.

For detailed license information, please refer to the License Agreement file.

Appendix A: Installation of Required Packages

The local_python_code_protector.py script requires the following Python packages:

Installing Packages with pip

You can install these packages using the following command:

pip install requests psutil cryptography decompyle3 xdis astor

Ensure that you are using the correct version of pip associated with your Python 3 installation. If you are working within a virtual environment, make sure it is activated before installing the packages.

Appendix B: Generating Hardware IDs

To restrict code execution to specific devices, you need to obtain the Hardware ID (HWID) of those devices. Use the system_hardware_id_generator.py script to generate the HWID.

Usage:

  1. Run the script on the target device:
python system_hardware_id_generator.py
  1. The script will display the HWID:
Your Hardware ID (HWID) is: 123456789012345678
  1. Use this HWID with the -d or --device parameter when obfuscating your code.

The HWID serves as a unique identifier for the device's hardware components, ensuring that the protected code can only be executed on authorized devices [[1]].

Appendix C: Real-World Example - Universal Python Module with Multi-Version Compatibility

In this appendix, we present a real-world example of applying the Local Python Code Protector Script to create a secure, cross-platform, and multi-version compatible Python module.

C.1 Overview

The file system_hardware_id_generator.pyz is a universal Python module that encapsulates multiple protected .pyc files, each corresponding to a different Python version. It is optimized for cross-platform and multi-version compatibility, automatically detecting the current Python interpreter version and executing the appropriate protected module.

C.2 Construction of the Universal Module

C.2.1 Protected .pyc Files

Eight protected .pyc files were generated for different Python versions using the Local Python Code Protector Script. The protection process was applied twice to each file to strengthen the security.

Protected files:

C.2.2 Multi-Version PYZ Builder

The integration of these files into a single .pyz archive was achieved using the Multi-Version PYZ Builder, a software solution that leverages Alpha Beta Network technologies.

Key Features:

C.3 Using the Universal Module

To generate the Hardware ID (HWID) on any supported platform:

  1. Execute the .pyz file:
python system_hardware_id_generator.pyz
  1. The module will display the HWID:
Your Hardware ID (HWID) is: 123456789012345678

Notes:

C.4 Building Your Own Universal Module

To create a similar universal Python module for your protected scripts:

  1. Protect Your Scripts: Use the Local Python Code Protector Script to obfuscate your .py files for each Python version you wish to support.
  2. Use Multi-Version PYZ Builder: Integrate the protected .pyc files into a single .pyz archive using the Multi-Version PYZ Builder.
  3. Distribute the .pyz File: Share the universal .pyz file with your users, ensuring they can run it on their platform and Python version without additional configurations.

Benefits:

C.5 Conclusion

The use of a universal .pyz file exemplifies advanced techniques in source code protection and secure code sharing. By leveraging the Local Python Code Protector Script and the Multi-Version PYZ Builder, developers can create robust, secure, and versatile Python modules suitable for distribution across diverse environments.

Official Repositories

You can find the official repositories for this tool at the following links: