Intensio-Obfuscator - Obfuscate A Python Code 2.X And 3.X

2019-06-12T22:00:01
ID KITPLOIT:906434992666595848
Type kitploit
Reporter KitPloit
Modified 2019-06-12T22:00:01

Description

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 differents 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/

Features
Feature | Description
---|---
Replace | Replace all names of variables - classes - functions defined and remove all line breaks
Padding | Add random scripts after each line and remove all line breaks
Remove | Remove all commentaries and all line breaks
Secret | Only for the curious :)
Mixer lower | Generate 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 medium | Generate 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 high | Generate 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

-h, --help              -> show this help message and exit.
-f, --onefile           -> if only one file.
-d, --multiplefiles     -> if multiple files (project).
-i, --input             -> source file or directory - if multiple files indicate a directory that contain all your files.
-c, --code              -> language used in input file or directory. value: [python]
-o, --output            -> output file or directory that will be obfuscated - if multiple file indicate a empty directory that will contain all your files.
-m, --mixer             -> length level of variables mix output. values: [lower,medium,high]
-r, --replace           -> activate the 'replace' obfuscation feature.
-p, --padding           -> activate the 'padding' obfuscation feature.
-rm, --remove           -> activate the 'remove' obfuscation f   eature.
-s, --secret            -> activate the 'secret' bullshit 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 Do not define identically your names of local variables - classes - functions to python keywords or names of functions - classes of imported python libraries !!

Examples

Python target file(s):

  • Multiple files basic: python3.x intensio_obfuscator.py -d -i test/python/multiplefiles/basic/input/basicRAT -c python -o test/python/multiplefiles/basic/output/basicRAT -m lower -r -rm

Possible malfunctions

  • 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.

Todo

  • 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

Download Intensio-Obfuscator