
Guerra psicológica em engenharia reversa
: Guerra Psicológica em Engenharia Reversa
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
O conjunto de ferramentas REpsych é uma prova de conceito que ilustra a geração de imagens por meio do grafo de fluxo de controle (CFG) de um programa.
| O CFG de uma função típica | Um CFG gerado por REpsych |
|---|---|
![]() | ![]() |
Não há um propósito específico para o projeto (além de mostrar que isso pode ser feito), mas possíveis aplicações (não sérias) estão descritas na apresentação da DEF CON.
O programa funciona de forma confiável com todas as versões testadas da ferramenta de engenharia reversa IDA Pro, e de forma semirregular com outros visualizadores de CFG (Hopper, BinNavi, radare2 etc).
O conjunto de ferramentas traduz imagens de origem em programas funcionais, de modo que o grafo de fluxo de controle do programa gere a imagem de origem.
Para gerar um novo programa a partir de uma imagem:
Dois programas funcionais serão criados: repsych_v1 e repsych_v2. Cada um usa uma estratégia diferente para garantir que o renderizador de CFG posicione corretamente os nós do CFG.
A ferramenta criará um bloco básico (nó de CFG) para cada pixel da imagem de origem; portanto, tente usar imagens de origem pequenas (não maiores que 100x100), e talvez seja necessário aumentar o número de nós permitidos no seu visualizador de CFG.
Ao usar uma imagem de texto como entrada da ferramenta, primeiro converta a imagem para um bitmap preto e branco de 2 BPP e depois para um bitmap de 24 BPP; isso removerá cores que não sejam preto e branco e dará os melhores resultados no grafo de fluxo de controle.





A técnica é descrita em detalhes na apresentação da DEF CON.
Os slides da apresentação estão disponíveis aqui.
REpsych é uma prova de conceito de Christopher Domas (@xoreaxeaxeax).