
Ofuscar um código Python 2.x e 3.x
variables/classes/functions/files-name por strings aleatórias com comprimento definido, e então todos os chars para seu valor hexadecimalcomments, todos os spaces linessnippets code/functions/classes com valores sempre diferentes$ 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
| Funcionalidades | Descrições | Propósito da ofuscação | Compatibilidade com todos os tipos de códigos/sintaxes python |
|---|---|---|---|
| Excluir comentários | Excluir todos os comentários (esta funcionalidade é executada por padrão) | Excluir informações comportamentais potenciais | alta python files 2 & 3 |
| Excluir espaços de linha | Excluir todos os espaços de linha (esta funcionalidade é executada por padrão) | Reduzir a visibilidade do código em claro | alta python files 2 & 3 |
| Correção de preenchimento de classes/funções vazias | Adicionar preenchimento a classes e funções vazias, se a classe ou função contiver apenas comentários, a funcionalidade padrão Excluir comentários pode potencialmente deixar uma classe ou função vazia, isso evitará gerar um erro (esta funcionalidade é executada por padrão) | Nenhum, apenas para evitar gerar erros | alta python files 2 & 3 |
| Substituir string por string misturada | Substituir todos os nomes de variáveis/classes/funções por strings aleatórias com comprimento definido | Reduzir a visibilidade do código em claro - Atrasar a dedução do comportamento das variáveis/classes/funções | baixa - alta (depende do número de nomes que devem ser excluídos ou não) python files 2 & 3 |
| Excluir palavras | Arquivo para excluir palavra (verifique a documentação para o formato) apenas para a funcionalidade de ofuscação 'substituir nome de arquivo' | Informação não necessária | Informação não necessária |
| Preenchimento de script | Adicionar preenchimento de scripts aleatórios após cada linha | Reduzir a visibilidade do código em claro - adicionar trechos de código/classes/funções mortos para confundir e atrasar a análise do comportamento do programa | alta python file 2 & 3 |
| Substituir nomes de arquivos | Substituir todos os nomes de arquivos por strings aleatórias com comprimento definido | Reduzir a visibilidade do código em claro - Reduzir a dedução das funcionalidades dos arquivos | baixa python files 2 & 3 |
| Excluir nomes de arquivos | Arquivo para excluir nomes de arquivos (verifique a documentação para o formato) apenas para a funcionalidade de ofuscação 'substituir nome de arquivo' | Informação não necessária | Informação não necessária |
| Substituir string por hex | Substituir todos os caracteres por seu valor hexadecimal | Reduzir a visibilidade do código em claro / evitar ser detectado pelos comandos 'grep' por exemplo |
-rts, --replacetostr-ps, --paddingscript-rfn, --replacefilename-rth, --replacetohex| Parâmetros | Descrições |
|---|---|
| -h, --help | exibe esta mensagem de ajuda e sai |
| -i, --input | diretório de origem - indique um diretório que contenha seu arquivo |
| -o, --output | diretório de saída que será ofuscado - indique um diretório vazio que conterá seu arquivo |
| -mlen, --mixerlength | define o comprimento das strings aleatórias geradas [baixo:32|médio:64|alto:128] caracteres quando as funcionalidades --replacetostr ou --paddingscripts ou -rfn, --replacefilesname ou --replacetohex são especificadas, valores possíveis: [baixo|médio|alto] |
| -ind, --indent | indique a indentação do seu código-fonte python, valores possíveis: [2|4|8] |
| -rts, --replacetostr | ativa a funcionalidade de ofuscação substituir string por string misturada |
| --excludewords | arquivo para excluir palavras específicas (verifique a documentação para o formato) apenas para a funcionalidade de ofuscação -rts, --replacetostr |
| -ps, --paddingscript | ativa a funcionalidade de ofuscação preenchimento de script |
| -rfn, --replacefilename | ativa a funcionalidade de ofuscação substituir nome de arquivo |
| --excludefiles | arquivo para excluir nome de arquivo (verifique a documentação para o formato) apenas para a funcionalidade de ofuscação -rfn, --replacefilename |
| -rth, --replacetohex | ativa a funcionalidade de ofuscação substituir string por hex (python files 2 only) |
| --version | verifica a versão atual |
| -v, --verbose | aumenta a verbosidade |
média python files 2 only |
| Correção excluir arquivo pyc | Excluir todos os arquivos pyc no diretório de saída (esta funcionalidade é executada por padrão) | Excluir arquivos já compilados sem terem sido ofuscados antes | alta python files 2 & 3 |
| Comprimento do mixer baixo | Definir comprimento de strings aleatórias de 32 caracteres quando os parâmetros -rts, --replacetostr ou -ps, --paddingscripts ou -rfn, --replacefilesname ou -rth, --replacetohex são especificados | Quanto maior o comprimento usado, mais difícil a visibilidade do código | Informação não necessária |
| Comprimento do mixer médio | Definir comprimento de strings aleatórias de 64 caracteres quando os parâmetros -rts, --replacetostr ou -ps, --paddingscripts ou -rfn, --replacefilesname ou -rth, --replacetohex são especificados | Quanto maior o comprimento usado, mais difícil a visibilidade do código | Informação não necessária |
| Comprimento do mixer alto | Definir comprimento de strings aleatórias de 128 caracteres quando os parâmetros -rts, --replacetostr ou -ps, --paddingscripts ou -rfn, --replacefilesname ou -rth, --replacetohex são especificados | Quanto maior o comprimento usado, mais difícil a visibilidade do código | Informação não necessária |