Intensio Obfuscator : Obfuscate A Python Code 2.x & 3.x

Intensio Obfuscator is an obfuscate a python code 2.x and 3.x. Takes a python source code and transform it into an obfuscated python code, replace name of variables/classes/functions to random chars and defined length, removes comments, line breaks and add to each line a random script with an always different values.

Requirement

  • Python >= 3.5

Files Supported

  • Files written in python 2.x and 3.x

Installation

git clone https://github.com/Hnfull/Intensio-Obfuscator.git
cd Intensio-Obfuscator/intensio/

Also Read – ShellPhish : Phishing Tool For 18 Social Media

Features

FeaturesDescriptions
ReplaceReplace all names of variables/classes/functions defined and remove all line breaks
PaddingAdd random scripts after each line and remove all line breaks
RemoveRemove all commentaries and all line breaks
Mixer lowerGenerate words with 32 chars that replace variables/classes/functions defined in source code and in random scripts if ‘replace’ or ‘padding’ features are specified
Mixer mediumGenerate words with 64 chars that replace variables/classes/functions defined in source code and in random scripts if ‘replace’ or ‘padding’ features are specified
Mixer highGenerate words with 128 chars that replace variables/classes/functions defined in source code and in random scripts if ‘replace’ or ‘padding’ features are specified

Usages

ParametersDescriptions
-h, –helpshow this help message and exit
-f, –onefileif only one file
-d, –multiplefilesif multiple files (project)
-i, –inputsource file or directory – if multiple files indicate a directory that contain all your files
-c, –codelanguage used in input file or directory, default value: [python], possible value: [python]
-o, –outputoutput file or directory that will be obfuscated – if multiple file indicate a empty directory that will contain all your files
-m, –mixerlength levels of the number of characters for output variables /classes/functions, default value: [medium], possible values: [lower, medium, high]
-r, –replaceactivate the ‘replace’ obfuscation feature
-p, –paddingactivate the ‘padding’ obfuscation feature
-rm, –removeactivate the ‘remove’ obfuscation feature
  • If you want exclude python variables/classes/functions which will be taken by the ‘replace’ feature, edit intensio/exclude_python_words.txt
  • If you want to include python variables/classes/functions that are not included when launching the ‘replace’ feature, edit intensio/include_python_words.txt

Examples

Python target file(s):

  • Multiple files basic:
  • Multiple files advanced:
  • One files basic and advanced :
    • The command is same that for multiple file, just do not pointed a directory but a python file directly for -i and -oparameters, then change -d parameter into -f parameter

Possible Malfunctions

  • Do not define identically your names of local variables/classes/functions to python keywords or names of functions/classes of imported python libraries !
  • If a variable/class/function has an identical name with a word between ' ' or " " in print() function, your text will have the same value that the mixer variables/class/function.
  • If a variable/class/function has an identical name with a word in after # (commentary) your text will have the same value that the mixer variables – class – function, but if between """ or ''' without a variables before, no replacing is performed.
  • If you named your variables/classes – functions in the same way as python keywords or names of functions/class of imported python libraries, an error may appear. Edit intensio/excluded_python_words.txt to add the variables not to obfuscate or change your names of local variables/classes – fuctions, if your variables/classes – functions have the same name as a keyword it, he will be obfuscated and errors will appear.

To Do

  • Version 1.0.1-x:
    • Code optimization
    • Fix bugs and problems
    • Improved features already present
  • Version 1.1.0:
    • Support files written in C
  • Version 1.2.0:
    • Support files written in C++

Disclamer

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.