
Diaphora, a mais avançada ferramenta de diffing de programas gratuita e de código aberto.
Instale com o gerenciador de plugins do Hex-Rays:
hcli plugin install https://github.com/joxeankoret/diaphora/archive/refs/tags/3.4.2.zip
As instruções de instalação manual estão abaixo.
Diaphora (διαφορά, 'diferença' em grego) versão 3.4 é a ferramenta de diffing de programas mais avançada (funcionando como um plugin do IDA) disponível atualmente (2026). Foi lançada pela primeira vez durante a SyScan 2015 e tem sido mantida ativamente desde então: Diaphora já foi portada há 11 anos para todas as versões menores do IDA desde a 6.8 até a 9.4.
Diaphora suporta versões do IDA >= 7.4 porque o código só roda em Python 3.X (Python 3.11 foi a última versão testada).
Diaphora tem muitos dos recursos mais comuns de diffing de programas (bindiffing) que você pode esperar, como:
No entanto, Diaphora também possui muitos recursos exclusivos, indisponíveis em qualquer outra ferramenta pública. A seguir está uma lista não exaustiva de recursos exclusivos:
Diaphora não requer instalação: basta baixar o código e executar o script diaphora.py de dentro do IDA ou na linha de comando (apenas para comparar bancos de dados já exportados). No entanto, ele pode ser integrado como um plugin no IDA fazendo o seguinte:
plugins/diaphora_plugin.py e plugins/diaphora_plugin.cfg para o diretório de plugins do IDA.diaphora_plugin.cfg e defina o valor de path para o diretório do Diaphora.Você pode ajudar (ou agradecer) o autor do Diaphora fazendo uma doação. Se quiser, pode usar um dos seguintes links:
Sinta-se à vontade para abrir issues no Github se tiver algum problema ou precisar de ajuda. Se preferir conversar interativamente, você pode usar o seguinte canal do Discord: https://discord.gg/atg34w2xjV
As versões do Diaphora anteriores à 1.2.4, incluindo a versão 1.2.4, foram licenciadas sob a GNU GPL versão 3. Desde a versão 2.0, o Diaphora é licenciado sob a licença GNU Affero GPL versão 3. A licença foi alterada para que empresas que queiram modificar e adaptar o Diaphora não possam oferecer serviços web baseados nessas versões modificadas sem contribuir de volta com as alterações.
Para 99,99% dos usuários, a mudança de licença não os afeta em nada. Se a sua empresa precisar de um modelo de licenciamento diferente, consulte a próxima seção...
Suporte comercial e consultoria são oferecidos para empresas legítimas. Se você precisar de suporte ou consultoria para problemas com seu alvo, para desenvolver produtos baseados no Diaphora, para usar o Diaphora internamente interagindo com suas próprias ferramentas, para projetos de detecção de plágio, etc..., você pode entrar em contato comigo em [email protected] para mais detalhes.
Se a sua empresa não permite o uso da licença AGPL, você pode obter licenças comerciais do Diaphora para usá-lo em sua empresa ou para usá-lo como particular em qualquer empresa em que trabalhe (conceito semelhante às licenças nominais do IDA). Para mais detalhes, entre em contato comigo em [email protected].
Lembre-se de que não sou eu que estou impedindo você de usar o Diaphora: é a sua empresa. Obrigado pela compreensão.
Se você procura saber como automatizar o processo de exportação ou diffing, ou quer acelerar operações, etc..., talvez queira dar uma olhada na wiki, onde essas perguntas são respondidas.
Diaphora encontrando a função exata onde uma vulnerabilidade foi corrigida no CVE-2020-1350:

Diaphora, novamente, encontrando a função exata onde a CVE-2023-28231 foi corrigida:

CVE-2023-28231. Como explicado em um blog da ZDI, a vulnerabilidade foi corrigida verificando se o número de mensagens de encaminhamento de relay em "ProcessRelayForwardMessage()" não é maior ou igual a 32 (0x20), como mostrado no seguinte diffing de pseudocódigo:

Diaphora fazendo diffing de microcódigo do Hex-Rays:

Diffing de assembly, pseudocódigo e microcódigo:

Diffing da CVE-2023-21768 com Diaphora 3.0:

Esta é uma captura de tela do Diaphora comparando a vulnerabilidade do kernel do iOS PEGASUS corrigida no iOS 9.3.5:
E esta é uma captura de tela antiga do Diaphora comparando o boletim da Microsoft MS15-034:
Diaphora comparando MS15-034
Estas são algumas capturas de tela do Diaphora comparando o boletim da Microsoft MS15-050, extraídas do post do blog Analisando MS15-050 com Diaphora de Alex Ionescu.

Aqui está uma captura de tela do Diaphora comparando iBoot do iOS 10.3.3 com iOS 11.0: