Quantcast
Channel: KitPloit - PenTest Tools!
Viewing all articles
Browse latest Browse all 5816

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

$
0
0

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
FeatureDescription
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
SecretOnly for the curious :)
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
-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
  • Multiple files advanced: python3.x intensio_obfuscator.py -d -i test/python/multiplefiles/advanced/input/basicRAT -c python -o test/python/multiplefiles/advanced/output/basicRAT -m high -r -p -rm
  • If it's one file only, the command is same that for multiple file, just do not pointed a directory but a python file directly for -i and -o parameters, then change -d parameter into -f parameter

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



Viewing all articles
Browse latest Browse all 5816

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>