Executando verificação de segurança...
3

É muito bom saber que aqui no Tabnews há leitores que apreciam essa área da engenharia reversa. Acho que todo dev tem um pouco desse hábito de desmontar as coisas para ver o que tem dentro ou mesmo observar segundo outros aspectos como você fez, marcdantas. Alguns, como o Dilbert (ptbr), outros muito mais. Escovar bits, revertendo aplicações, jogos tem suas vantagens, como criar patches com base nos achados. Aprendemos também com todo esse processo.

Estou atento aos termos de uso de alguns software que vedam a engenharia reversa, mas discordo em parte, quando adquiro o item. A engenharia reversa tem mostrado sua importância quando trazendo à tona as falhas de segurança, backdoors, bugs, easter eggs etc. de software, firmware e hardware. Ultimamente percebo que os fabricantes/desenvolvedores não têm muito o que fazer para limitar isso, passando a criar dispositivos/aplicações mais robustas, à prova de intrusão.

Antes que a NSA publicasse o Ghidra, era um trabalho mais árduo caso não pudesse adquirir uma licença de ferramenta comercial. Muito bom saber que criou sua própria ferramenta exótica code2image! Também segui esse caminho até conhecer algumas existentes. Antes eu criava um arquivo PNM para ver o arquivo como imagem! Hoje, para visualizar o conteúdo como imagem (ligeiramente diferente do que sua aplicação faz), tenho usado a http://binvis.io, hospedada localmente. Com ela consigo inspecionar alguns pacotes binários suspeitos, calculando e exibindo também a entropia do conteúdo em forma de imagem. Logo, para um arquivo não compactado, a representação da entropia realça regiões cujo conteúdo difere-se do restante, tais como seções com dados encriptados, blocos compactados.


A ferramenta que você desenvolveu é bem diferente da que apresentei, exótica. Já pensou em criar um histograma 3D, já que pares de coordenadas, como você os chama, podem ocorrer várias vezes para uma mesma localidade no seu sistema de coordenadas? Calma que não é necessário projetar um gráfico com três eixos. A terceira componente você poderia aproveitar a possibilidade de adotar uma cor de uma paleta predefinida, incrementada à medida que o número de ocorrências para o par de coordenadas se repete.