
Plugin do IDA para detecção automatizada de código ofuscado e achatamento de fluxo de controle em binários usando análise heurística e visualização de árvore de dominância.
Autoria: mcdulltii
Detecta automaticamente código ofuscado e outras máquinas de estado
Scripts para detectar automaticamente código ofuscado e máquinas de estado em binários.
A implementação é baseada no IDA 7.4+ (Python3). Confira as seguintes postagens do blog para mais informações sobre a implementação no Binary Ninja:
Os valores heurísticos são gerados com base nas postagens do blog acima e são ordenados (quando executados no modo All Functions) de cima para baixo com base em suas complexidades heurísticas.
Devido à natureza recursiva de traçar uma árvore de dominância de cada função encontrada dentro do binário, a implementação e a sobrecarga de tempo de execução são caras, embora o threading tenha sido implementado.
Usando PyQt para visualizar o plugin, os usuários podem personalizar ainda mais a análise da função heurística no binário.
PyQt5
Copie o diretório obfDetect e obfDetect.py para o diretório de Plugins do IDA.
Quando o IDA terminar de carregar um binário com sucesso, o script imprimirá seu banner no console IDC/Python.
O script pode ser executado através da barra de ferramentas File como mostrado abaixo. Alternativamente, Ctrl-Shift-H.

Os nomes das funções na tabela de saída podem ser renomeados usando n, e assim atualizarão os nomes das funções do IDA especificados pelo endereço da função
A caixa de entrada do nome do arquivo de exportação, quando clicada, abrirá um pop-up de seleção de arquivo que pode ser navegado para um local de salvamento personalizado
Run para iniciar a análiseExport filename para selecionar o local de exportação e clique no botão Export para exportar a tabela para o formato csv

