
Offuscare un codice Python 2.x e 3.x
variabili/classi/funzioni/nomi-file con stringhe casuali di lunghezza definita, poi tutti i caratteri con il loro valore esadecimalecommenti, tutte le righe vuotecodice/funzioni/classi con valori sempre diversi$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git
$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt
$ cd Intensio-Obfuscator/src/intensio_obfuscator
$ python3 intensio_obfuscator.py --help
$ python3 -m pip install intensio-obfuscator
$ intensio_obfuscator --help
| Funzionalità | Descrizioni | Scopo dell'offuscamento | Compatibilità con tutti i tipi di codici/sintassi Python |
|---|---|---|---|
| Elimina commenti | Elimina tutti i commenti (questa funzionalità è eseguita di default) | Elimina potenziali informazioni comportamentali | alta file python 2 & 3 |
| Elimina spazi riga | Elimina tutte le righe vuote (questa funzionalità è eseguita di default) | Riduce la visibilità del codice in chiaro | alta file python 2 & 3 |
| Correzione padding di classi/funzioni vuote | Aggiunge padding a classi e funzioni vuote; se la classe o funzione contiene solo commenti, la funzionalità predefinita Elimina commenti potrebbe potenzialmente lasciare una classe o funzione vuota, questo evita di generare un errore (questa funzionalità è eseguita di default) | Nessuno, solo per evitare di generare errori | alta file python 2 & 3 |
| Sostituisci stringa con stringa mista | Sostituisce tutti i nomi di variabili/classi/funzioni con stringhe casuali di lunghezza definita | Riduce la visibilità del codice in chiaro - Ritarda la deduzione del comportamento di variabili/classi/funzioni | bassa - alta (dipende dal numero di nomi da escludere o meno) file python 2 & 3 |
| Escludi parole | file per escludere parole (controlla la documentazione per il formato) solo per la funzionalità di offuscamento 'sostituisci nome file' | Informazione non richiesta | Informazione non richiesta |
| Script di padding | Aggiunge padding di script casuali dopo ogni riga | Riduce la visibilità del codice in chiaro - aggiunge frammenti di codice/funzioni/classi inattivi per offuscare e ritardare l'analisi del comportamento del programma | alta file python 2 & 3 |
| Sostituisci nomi file | Sostituisce tutti i nomi file con stringhe casuali di lunghezza definita | Riduce la visibilità del codice in chiaro - Riduce la deduzione delle funzionalità dei file | bassa file python 2 & 3 |
| Escludi nomi file | file per escludere nomi file (controlla la documentazione per il formato) solo per la funzionalità di offuscamento 'sostituisci nome file' | Informazione non richiesta | Informazione non richiesta |
| Sostituisci stringa con esadecimale | Sostituisce tutti i caratteri con il loro valore esadecimale | Riduce la visibilità del codice in chiaro / evita di essere rilevato dai comandi 'grep' per esempio | media |
replace string to string mixed -> -rts, --replacetostrpadding script -> -ps, --paddingscriptreplace file name -> -rfn, --replacefilenamereplace string to hex -> -rth, --replacetohex| Parametri | Descrizioni |
|---|---|
| -h, --help | mostra questo messaggio di aiuto ed esci |
| -i, --input | directory di origine - indica una directory che contiene i tuoi file |
| -o, --output | directory di output che verrà offuscata - indica una directory vuota che conterrà i tuoi file |
| -mlen, --mixerlength | definisce la lunghezza delle stringhe casuali generate [lower:32|medium:64|high:128] caratteri quando vengono specificate le funzionalità --replacetostr o --paddingscripts o -rfn, --replacefilesname o --replacetohex, valori possibili: [lower|medium|high] |
| -ind, --indent | indica l'indentazione del tuo codice sorgente Python, valori possibili: [2|4|8] |
| -rts, --replacetostr | abilita la funzionalità di offuscamento replace string to string mixed |
| --excludewords | file per escludere parole specifiche (controlla la documentazione per il formato) solo per la funzionalità di offuscamento -rts, --replacetostr |
| -ps, --paddingscript | abilita la funzionalità di offuscamento padding script |
| -rfn, --replacefilename | abilita la funzionalità di offuscamento replace file name |
| --excludefiles | file per escludere nomi file (controlla la documentazione per il formato) solo per la funzionalità di offuscamento -rfn, --replacefilename |
| -rth, --replacetohex | abilita l'offuscamento replace string to hex (solo file python 2) |
| --version | controlla la versione corrente |
| -v, --verbose | aumenta la verbosità |
file python 2 solo| Correzione elimina file pyc | Elimina tutti i file pyc nella directory di output (questa funzionalità è eseguita di default) | Elimina file già compilati senza essere stati offuscati prima | alta file python 2 & 3 |
| Lunghezza miscelatore bassa | Definisce la lunghezza delle stringhe casuali a 32 caratteri quando vengono specificati i parametri -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Più lunga è la lunghezza, più difficile è la visibilità del codice | Informazione non richiesta |
| Lunghezza miscelatore media | Definisce la lunghezza delle stringhe casuali a 64 caratteri quando vengono specificati i parametri -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Più lunga è la lunghezza, più difficile è la visibilità del codice | Informazione non richiesta |
| Lunghezza miscelatore alta | Definisce la lunghezza delle stringhe casuali a 128 caratteri quando vengono specificati i parametri -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Più lunga è la lunghezza, più difficile è la visibilità del codice | Informazione non richiesta |