encodify


Nameencodify JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/ishanoshada/encodify
SummaryA module for encoding and encrypting data.
upload_time2023-11-25 05:24:48
maintainer
docs_urlNone
authorIshan Oshada
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Encodify - Python Code Encoding Module

![Python Version](https://img.shields.io/badge/python-3.9-blue.svg)

`encodify` is a powerful Python module designed to provide a suite of advanced encoding techniques for Python scripts. These encoding methods encompass compression, base64 encoding, and XOR encryption, allowing users to obfuscate code for enhanced security or distribution.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
  - [Importing the Module](#importing-the-module)
  - [Creating an Encoder Instance](#creating-an-encoder-instance)
  - [Encoding Specific Code](#encoding-specific-code)
  - [Generating Random Payload](#generating-random-payload)
  - [Generating Payload with a Specific Encoding Method](#generating-payload-with-a-specific-encoding-method)
  - [Additional Customization](#additional-customization)
- [Advanced Techniques](#advanced-techniques)
- [Examples](#examples)
- [Best Practices and Considerations](#best-practices-and-considerations)
- [License](#license)

## Installation

To integrate `encodify` into your project, you can use `pip`:

```bash
pip install encodify
```

## Usage

### Importing the Module

To employ the functionalities of `encodify`, import the `Encodify` class from the module:

```python
from encodify import Encodify
```

### Creating an Encoder Instance

Instantiate the `Encodify` class to access a wide array of encoding techniques:

```python
encoder = Encodify()
```

### Encoding Specific Code

`encodify` excels at encoding specific Python code snippets. For instance, utilizing the `m1` encoding method:

```python
code_to_encode = "print('Hello, World!')"
encoded_code = encoder.m1(code_to_encode)
```

### Generating Random Payload

For a dynamically selected encoding method, use the `random_payload` method. It produces a randomized payload, increasing the level of code obfuscation:

```python
random_payload = encoder.random_payload("print('Hello, World!')", 2)
```

### Generating Payload with a Specific Encoding Method

Tailor the encoding method to your requirements with the `gen_payload` method. Specify the method number to achieve the desired encoding:

```python
# Choose the encoding method (e.g., m2)
chosen_encoding_method = 2
payload = encoder.gen_payload(chosen_encoding_method, "print('Hello, World!')")
```

### Additional Customization

`encodify` offers extensive customization options. These include string replacements and appending/prepending custom code to the encoded output, allowing for fine-tuned control over the obfuscation process.

### Args for `gen_payload` Function

The `gen_payload` function accepts the following arguments:

- `choice` (int): The chosen encoding technique, determining the applied encoding method. Refer to the module documentation for a complete list of available choices.

- `data` (str): The Python code to be encoded.

- `line` (int, optional): The number of lines for line-based encoding (default is 2). This argument is applicable for specific encoding methods.

- `options` (dict, optional): Further customization options (default is None). This may encompass string replacements or the addition of custom code.

### Available Encoding Methods

```plaintext
+------+---------------------------------------------------+
|  No  |           Encoding Method Description            |
+------+---------------------------------------------------+
|  1   |              m1: Gzip + Marshal + Base64          |
|  2   |          m2: LZMA + Base64 + Marshal              |
|  3   |         m3: LZMA + Base85 + Marshal               |
|  4   |              m4: LZMA + Marshal                   |
|  5   |          m5: Base64 + LZMA + Marshal              |
|  6   |       m6: LZMA + Zlib + Marshal + Base64         |
|  7   |     m7: LZMA + Gzip + Marshal + Base64           |
|  8   |              m8: LZMA + Marshal                   |
|  9   |       m9: Base64 + Gzip + Marshal + Base64        |
|  10  |      m10: Base64 + Gzip + Marshal + LZMA          |
|  11  |     m11: Base64 + Gzip + Marshal + Base64         |
|  20  |     m20: Minify + Base64 + Gzip + Marshal         |
|  23  |      l1: Line-based Encoding with Base85          |
|  24  |  l2: Line-based Encoding with Base85 + LZMA       |
|  25  |  l25: Line-based Encoding with Base64 + LZMA      |
|  26  | l26: Line-based Encoding with Base64 + Codecs     |
|  27  |  l27: Line-based Encoding with XOR Encryption     |
|  28  | l28: Line-based Encoding with Base64 + XOR        |
|  29  | l29: Line-based Encoding with Base64 + XOR        |
|  30  | l30: Line-based Encoding with XOR + Codecs        |
+------+---------------------------------------------------+
```


## Advanced Techniques

`encodify` offers an array of advanced encoding techniques. These include line-based encoding, various combinations of compression, and XOR encryption. For in-depth guidance on these techniques, refer to the module's extensive documentation.

## Examples

Explore some advanced examples showcasing the versatility of `encodify`:

```python
from encodify import Encodify

# Create an instance of Encodify
encoder = Encodify()

# Example 1: Encoding with m2 method
code_to_encode = "for i in range(5):\n    print(f'Number: {i}')"
encoded_code_m2 = encoder.m2(code_to_encode)

# Example 2: Encoding with l1 method
line_based_code = "print('Hello, World!')"
encoded_line_based_code = encoder.l1(line_based_code, 3)

# Example 3: Generating a random payload
random_payload = encoder.random_payload("print('Hello, World!')", 2)

# Example 4: Generating a payload with a specific encoding method (m11)
chosen_encoding_method = 11
payload_m11 = encoder.gen_payload(chosen_encoding_method, "print('Hello, World!')")

# Example 5: Customizing output with options
options = {
    "replace_strings": {"print": "display"},
    "prepend_code": "import datetime\n",
    "append_code": "\nprint(f'Execution Time: {datetime.datetime.now()}')"
}
customized_payload = encoder.gen_payload(1, "print('Hello, World!')", options=options)

```

## Best Practices and Considerations

1. **Use Responsibly**: This module is primarily intended for educational purposes. Use it responsibly and within the boundaries of applicable laws and ethical guidelines.

2. **Testing and Verification**: Always test the encoded code to ensure it functions as expected.

3. **Documentation**: Document the encoding method used and keep a record for future reference.

**Repository Views** ![Views](https://profile-counter.glitch.me/encodify/count.svg)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ishanoshada/encodify",
    "name": "encodify",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Ishan Oshada",
    "author_email": "ic31908@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ec/65/03a5e314f0c797386ec310688d1c8ffd1caf5b74db7470b41dcf2dedb38c/encodify-1.0.4.tar.gz",
    "platform": null,
    "description": "# Encodify - Python Code Encoding Module\n\n![Python Version](https://img.shields.io/badge/python-3.9-blue.svg)\n\n`encodify` is a powerful Python module designed to provide a suite of advanced encoding techniques for Python scripts. These encoding methods encompass compression, base64 encoding, and XOR encryption, allowing users to obfuscate code for enhanced security or distribution.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Importing the Module](#importing-the-module)\n  - [Creating an Encoder Instance](#creating-an-encoder-instance)\n  - [Encoding Specific Code](#encoding-specific-code)\n  - [Generating Random Payload](#generating-random-payload)\n  - [Generating Payload with a Specific Encoding Method](#generating-payload-with-a-specific-encoding-method)\n  - [Additional Customization](#additional-customization)\n- [Advanced Techniques](#advanced-techniques)\n- [Examples](#examples)\n- [Best Practices and Considerations](#best-practices-and-considerations)\n- [License](#license)\n\n## Installation\n\nTo integrate `encodify` into your project, you can use `pip`:\n\n```bash\npip install encodify\n```\n\n## Usage\n\n### Importing the Module\n\nTo employ the functionalities of `encodify`, import the `Encodify` class from the module:\n\n```python\nfrom encodify import Encodify\n```\n\n### Creating an Encoder Instance\n\nInstantiate the `Encodify` class to access a wide array of encoding techniques:\n\n```python\nencoder = Encodify()\n```\n\n### Encoding Specific Code\n\n`encodify` excels at encoding specific Python code snippets. For instance, utilizing the `m1` encoding method:\n\n```python\ncode_to_encode = \"print('Hello, World!')\"\nencoded_code = encoder.m1(code_to_encode)\n```\n\n### Generating Random Payload\n\nFor a dynamically selected encoding method, use the `random_payload` method. It produces a randomized payload, increasing the level of code obfuscation:\n\n```python\nrandom_payload = encoder.random_payload(\"print('Hello, World!')\", 2)\n```\n\n### Generating Payload with a Specific Encoding Method\n\nTailor the encoding method to your requirements with the `gen_payload` method. Specify the method number to achieve the desired encoding:\n\n```python\n# Choose the encoding method (e.g., m2)\nchosen_encoding_method = 2\npayload = encoder.gen_payload(chosen_encoding_method, \"print('Hello, World!')\")\n```\n\n### Additional Customization\n\n`encodify` offers extensive customization options. These include string replacements and appending/prepending custom code to the encoded output, allowing for fine-tuned control over the obfuscation process.\n\n### Args for `gen_payload` Function\n\nThe `gen_payload` function accepts the following arguments:\n\n- `choice` (int): The chosen encoding technique, determining the applied encoding method. Refer to the module documentation for a complete list of available choices.\n\n- `data` (str): The Python code to be encoded.\n\n- `line` (int, optional): The number of lines for line-based encoding (default is 2). This argument is applicable for specific encoding methods.\n\n- `options` (dict, optional): Further customization options (default is None). This may encompass string replacements or the addition of custom code.\n\n### Available Encoding Methods\n\n```plaintext\n+------+---------------------------------------------------+\n|  No  |           Encoding Method Description            |\n+------+---------------------------------------------------+\n|  1   |              m1: Gzip + Marshal + Base64          |\n|  2   |          m2: LZMA + Base64 + Marshal              |\n|  3   |         m3: LZMA + Base85 + Marshal               |\n|  4   |              m4: LZMA + Marshal                   |\n|  5   |          m5: Base64 + LZMA + Marshal              |\n|  6   |       m6: LZMA + Zlib + Marshal + Base64         |\n|  7   |     m7: LZMA + Gzip + Marshal + Base64           |\n|  8   |              m8: LZMA + Marshal                   |\n|  9   |       m9: Base64 + Gzip + Marshal + Base64        |\n|  10  |      m10: Base64 + Gzip + Marshal + LZMA          |\n|  11  |     m11: Base64 + Gzip + Marshal + Base64         |\n|  20  |     m20: Minify + Base64 + Gzip + Marshal         |\n|  23  |      l1: Line-based Encoding with Base85          |\n|  24  |  l2: Line-based Encoding with Base85 + LZMA       |\n|  25  |  l25: Line-based Encoding with Base64 + LZMA      |\n|  26  | l26: Line-based Encoding with Base64 + Codecs     |\n|  27  |  l27: Line-based Encoding with XOR Encryption     |\n|  28  | l28: Line-based Encoding with Base64 + XOR        |\n|  29  | l29: Line-based Encoding with Base64 + XOR        |\n|  30  | l30: Line-based Encoding with XOR + Codecs        |\n+------+---------------------------------------------------+\n```\n\n\n## Advanced Techniques\n\n`encodify` offers an array of advanced encoding techniques. These include line-based encoding, various combinations of compression, and XOR encryption. For in-depth guidance on these techniques, refer to the module's extensive documentation.\n\n## Examples\n\nExplore some advanced examples showcasing the versatility of `encodify`:\n\n```python\nfrom encodify import Encodify\n\n# Create an instance of Encodify\nencoder = Encodify()\n\n# Example 1: Encoding with m2 method\ncode_to_encode = \"for i in range(5):\\n    print(f'Number: {i}')\"\nencoded_code_m2 = encoder.m2(code_to_encode)\n\n# Example 2: Encoding with l1 method\nline_based_code = \"print('Hello, World!')\"\nencoded_line_based_code = encoder.l1(line_based_code, 3)\n\n# Example 3: Generating a random payload\nrandom_payload = encoder.random_payload(\"print('Hello, World!')\", 2)\n\n# Example 4: Generating a payload with a specific encoding method (m11)\nchosen_encoding_method = 11\npayload_m11 = encoder.gen_payload(chosen_encoding_method, \"print('Hello, World!')\")\n\n# Example 5: Customizing output with options\noptions = {\n    \"replace_strings\": {\"print\": \"display\"},\n    \"prepend_code\": \"import datetime\\n\",\n    \"append_code\": \"\\nprint(f'Execution Time: {datetime.datetime.now()}')\"\n}\ncustomized_payload = encoder.gen_payload(1, \"print('Hello, World!')\", options=options)\n\n```\n\n## Best Practices and Considerations\n\n1. **Use Responsibly**: This module is primarily intended for educational purposes. Use it responsibly and within the boundaries of applicable laws and ethical guidelines.\n\n2. **Testing and Verification**: Always test the encoded code to ensure it functions as expected.\n\n3. **Documentation**: Document the encoding method used and keep a record for future reference.\n\n**Repository Views** ![Views](https://profile-counter.glitch.me/encodify/count.svg)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A module for encoding and encrypting data.",
    "version": "1.0.4",
    "project_urls": {
        "Homepage": "https://github.com/ishanoshada/encodify"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "223076f7ef8bfd8dd896722fadbcb1496160777949027c0e8931578d5c2e4820",
                "md5": "051245fb54217a92c0ce46531a9fe017",
                "sha256": "72f737250cbefe11efa33bdd18b554366bbd85c85280bad3693fa09de861badc"
            },
            "downloads": -1,
            "filename": "encodify-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "051245fb54217a92c0ce46531a9fe017",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 6911,
            "upload_time": "2023-11-25T05:24:47",
            "upload_time_iso_8601": "2023-11-25T05:24:47.221742Z",
            "url": "https://files.pythonhosted.org/packages/22/30/76f7ef8bfd8dd896722fadbcb1496160777949027c0e8931578d5c2e4820/encodify-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec6503a5e314f0c797386ec310688d1c8ffd1caf5b74db7470b41dcf2dedb38c",
                "md5": "d3a153ffcb2662d1c43548ac9fd829ee",
                "sha256": "fb7e00bd28884e4bd504e1f9c2a2ac272b5f82c9f8355a9346579550e7b3a02e"
            },
            "downloads": -1,
            "filename": "encodify-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "d3a153ffcb2662d1c43548ac9fd829ee",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6798,
            "upload_time": "2023-11-25T05:24:48",
            "upload_time_iso_8601": "2023-11-25T05:24:48.893883Z",
            "url": "https://files.pythonhosted.org/packages/ec/65/03a5e314f0c797386ec310688d1c8ffd1caf5b74db7470b41dcf2dedb38c/encodify-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-25 05:24:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ishanoshada",
    "github_project": "encodify",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "encodify"
}
        
Elapsed time: 0.31146s