{"id":13540313,"url":"https://github.com/hnfull/intensio-obfuscator","last_synced_at":"2025-04-12T19:44:28.132Z","repository":{"id":37397042,"uuid":"189859665","full_name":"Hnfull/Intensio-Obfuscator","owner":"Hnfull","description":"Obfuscate a python code 2.x and 3.x","archived":false,"fork":false,"pushed_at":"2020-07-25T10:24:06.000Z","size":52635,"stargazers_count":634,"open_issues_count":13,"forks_count":127,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-03T21:12:42.919Z","etag":null,"topics":["obfuscated-code","obfuscation","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hnfull.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-02T14:56:51.000Z","updated_at":"2025-03-30T04:12:24.000Z","dependencies_parsed_at":"2022-07-12T12:49:47.248Z","dependency_job_id":null,"html_url":"https://github.com/Hnfull/Intensio-Obfuscator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hnfull%2FIntensio-Obfuscator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hnfull%2FIntensio-Obfuscator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hnfull%2FIntensio-Obfuscator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hnfull%2FIntensio-Obfuscator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hnfull","download_url":"https://codeload.github.com/Hnfull/Intensio-Obfuscator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625486,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obfuscated-code","obfuscation","python","python3"],"created_at":"2024-08-01T09:01:46.292Z","updated_at":"2025-04-12T19:44:28.102Z","avatar_url":"https://github.com/Hnfull.png","language":"Python","readme":"# Intensio-Obfuscator\n\n# Project not maintained anymore\n# Thanks to all contributors\n\n![](https://img.shields.io/badge/Python-\u003e=3.5-green.svg)\n[![PyPI Version](https://img.shields.io/pypi/v/intensio-obfuscator.svg)](https://pypi.python.org/pypi/intensio-obfuscator/)\n![](https://img.shields.io/badge/Licence-MIT-red.svg)\n\n## What is this ?\n- Intensio-Obfsucator tool takes a python source code and transform it into an obfuscated python code\n  - **Replace** all names of `variables/classes/functions/files-name` to random strings with length defined then all `chars` to their hexadecimal value\n  - **Delete** all `comments`, all `spaces lines`\n  - **Padding** random `snippets code/functions/classes` with an always differents values\n  \n## What purpose ?\n- Provides a high level obfuscation layer to prevent or delay the reading and understanding of your python program\n\n## Level of obfuscation\n- Weak obfuscation if used alone, can be used with other types of obfuscation\n\n## Requirements\n- Python \u003e= 3.5\n- requirements.txt\n\n## Files supported\n- Files written in python 2.x and 3.x \n\n## Installation\n- From source\n```sh\n$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git\n$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt\n$ cd Intensio-Obfuscator/src/intensio_obfuscator\n$ python3 intensio_obfuscator.py --help\n```\n- From python package\n```sh\n$ python3 -m pip install intensio-obfuscator\n$ intensio_obfuscator --help\n```\n\n## Features\n| Features | Descriptions | Purpose of obfuscation | Compatibility with all types of python codes/syntaxes |\n| ------ | ------ | ------ | ------ |\n| Delete comments | Delete all comments (this feature is executed by default) | Delete potential behavioral informations | high `python files 2 \u0026 3`|\n| Delete line spaces | Delete all spaces line (this feature is executed by default) | Reduce the code visibility in clear | high `python files 2 \u0026 3`|\n| Correction padding empty classes/functions | Add padding to empty classes and functions, if the class or function contains comments only, the default feature `Delete comments` can potentially let a class or function empty, this will avoid to generate an error (this feature is executed by default) | None, only to avoid to generate errors | high `python files 2 \u0026 3`|\n| Replace string to string mixed | Replace all names of variables/classes/functions to random strings with length defined| Reduce the code visibility in clear - Delay the deduction of the behavior of variables/classes/functions | low - high (depends of number of names that must exclude or not) `python files 2 \u0026 3`\n| Exclude words | file to exclude word (check documentation for the format) only for 'replace file name' obfuscation feature | Information not required | Information not required |\n| Padding script | Add padding of random scripts after each line| Reduce the code visibility in clear - add dead snippets code/classes/functions to blur and delay behavior analysis of program | high `python file 2 \u0026 3`|\n| Replace files name | Replace all files name to random strings with length defined | Reduce the code visibility in clear - Reduce the deduction of functionnalities of files | low `python files 2 \u0026 3`|\n| Exclude file names | file to exclude file names (check documentation for the format) only for 'replace file name' obfuscation feature | Information not required | Information not required |\n| Replace string to hex | Replace all chars to their hexadecimal value | Reduce the code visibility in clear / avoid to be detected by the \\'grep\\' commands per example| medium `python files 2 only` |\n| Correction delete pyc file | Delete all pyc file in output directory (this feature is executed by default) | Delete files already compiled without having been obfuscated before | high `python files 2 \u0026 3`|\n| Mixer length lower | Define random strings length of `32` chars when `-rts, --replacetostr` or `-ps, --paddingscripts` or `-rfn, --replacefilesname` or `-rth, --replacetohex` parameters are specified | The longer the length is used, the more difficult the visibility of the code | Information not required |\n| Mixer length medium | Define random strings length of `64` chars when `-rts, --replacetostr` or `-ps, --paddingscripts` or `-rfn, --replacefilesname` or `-rth, --replacetohex` parameters are specified | The longer the length is used, the more difficult the visibility of the code | Information not required |\n| Mixer length high | Define random strings length of `128` chars when `-rts, --replacetostr` or `-ps, --paddingscripts` or `-rfn, --replacefilesname` or `-rth, --replacetohex` parameters are specified | The longer the length is used, the more difficult the visibility of the code | Information not required |\n- Features can be executed separatly:\n    - `replace string to string mixed` -\u003e `-rts, --replacetostr`\n    - `padding script` -\u003e `-ps, --paddingscript`\n    - `replace file name` -\u003e `-rfn, --replacefilename`\n    - `replace string to hex` -\u003e `-rth, --replacetohex`\n\n## Usages\n- **Read these Documentations before to use Intensio-Obfuscator tool !**\n- **Certain types of pattern are not supported**\n    - [Steps of usage](docs/steps_usage/python_steps_usage.md)\n    - [Required code format](docs/recommendations/python_code_recommendations.md)\n    - [Malfunctions](docs/malfunctions/python_code_malfunctions.md)\n    \n| Parameters | Descriptions |\n| ------ | ------ |\n| -h, --help | show this help message and exit |\n| -i, --input  | source directory - indicate a directory that contain your file |\n| -o, --output | output directory that will be obfuscated - indicate a empty directory that will contain your file |\n| -mlen, --mixerlength | define length of random strings generated [`lower:32`\\|`medium:64`\\|`high:128`] chars when `--replacetostr` or `--paddingscripts` or `-rfn, --replacefilesname` or `--replacetohex` features are specified, possible values: [`lower`\\|`medium`\\|`high`]|\n|-ind, --indent | indicate the indentation of your python source code, possible values: [`2`\\|`4`\\|`8`] \n| -rts, --replacetostr | enable `replace string to string mixed` obfuscation feature |\n| --excludewords | file to exclude specific words (check documentation for the format) only for `-rts, --replacetostr` obfuscation feature |\n| -ps, --paddingscript | enable `padding script` obfuscation feature|\n| -rfn, --replacefilename | enable `replace file name` obfuscation feature |\n| --excludefiles | file to exclude file name (check documentation for the format) only for `-rfn, --replacefilename` obfuscation feature |\n| -rth, --replacetohex | enable `replace string to hex` obfuscation `(python files 2 only)`|\n| --version | check current version|\n| -v, --verbose | improve verbosity |\n\n## Obfuscation examples \n- [Python files obfuscated](docs/examples/python_code_examples.md)\n\n## Todo\n- Version 1.x.x-x:\n    - Code optimization\n    - Fix issues\n    - Improved features already present\n    - Add other functionalities\n\n## License\n- MIT\n\n## Contact\n- Hnfull **gitland@protonmail.com**\n\n## Disclamer\n- Intensio-Obfuscator is for education/research purposes only. The author takes NO responsibility ay for how you choose to use any of the tools provided\n","funding_links":[],"categories":["\u003ca id=\"783f861b9f822127dba99acb55687cbb\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"85bb0c28850ffa2b4fd44f70816db306\"\u003e\u003c/a\u003e混淆器\u0026\u0026Obfuscate"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhnfull%2Fintensio-obfuscator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhnfull%2Fintensio-obfuscator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhnfull%2Fintensio-obfuscator/lists"}