python代码混淆工具_Intensio-Obfuscator:一个Python 2.x和3.x代码混淆工具

Intensio-Obfuscator

What is this ?

Intensio-Obfsucator tool takes a python source code and transform it into an obfuscated python code

Replace all names of variables/classes/functions/files-name to random strings with length defined then all chars to their hexadecimal value

Delete all comments, all spaces lines

Padding random snippets code/functions/classes with an always differents values

What purpose ?

Provides a high level obfuscation layer to prevent or delay the reading and understanding of your python program

Level of obfuscation

Weak obfuscation if used alone, can be used with other types of obfuscation

Requirements

Python >= 3.5

requirements.txt

Files supported

Files written in python 2.x and 3.x

Installation

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

pip3 install -r Intensio-Obfuscator/requirements.txt

cd Intensio-Obfuscator/intensio/

python3.x intensio_obfuscator.py --help

Features

Features

Descriptions

Purpose of obfuscation

Compatibility with all types of python codes/syntaxes

Delete comments

Delete all comments (this feature is executed by default)

Delete potential behavioral informations

high python files 2 & 3

Delete line spaces

Delete all spaces line (this feature is executed by default)

Reduce the code visibility in clear

high python files 2 & 3

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 & 3

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 & 3

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 & 3

Replace file 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 & 3

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

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 & 3

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

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

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

Features can be executed separatly:

replace string to string mixed -> -rts, --replacetostr

padding script -> -ps, --paddingscript

replace file name -> -rfn, --replacefilename

replace string to hex -> -rth, --replacetohex

Usages

Read these Documentations before to use Intensio-Obfuscator tool !

Parameters

Descriptions

-h, --help

show this help message and exit

-i, --input

source directory - indicate a directory that contain your file

-o, --output

output directory that will be obfuscated - indicate a empty directory that will contain your file

-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]

-ind, --indent

indicate the indentation of your python source code, possible values: [2|4|8]

-rts, --replacetostr

enable replace string to string mixed obfuscation feature

-ps, --paddingscript

enable padding script obfuscation feature

-rfn, --replacefilename

enable replace file name obfuscation feature

-rth, --replacetohex

enable replace string to hex obfuscation (python files 2 only)

-v, --verbose

improve verbosity

Obfuscation examples

Todo

Version 1.x.x-x:

Code optimization

Fix issues

Improved features already present

Add other functionalities

License

MIT

Contact

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

你可能感兴趣的:(python代码混淆工具)