Diaphora, a Free and Open Source program diffing tool
Switch branches/tags
Nothing to show
Clone or download
joxeankoret Added new heuristic and fixed a bug
HEUR: Added new heuristic "Same rare constant". It just matches 2 functions by using a single rare constant shared in both databases.
BUG: Demangled names often contain arguments data types, like func(const something_t&); remove the arguments as we're just interested in the name.
Latest commit a34b05a Sep 14, 2018



Diaphora (διαφορά, Greek for 'difference') is a program diffing plugin for IDA Pro and Radare2, similar to Zynamics Bindiff or the FOSS counterparts DarunGrim, TurboDiff, etc... It was released during SyScan 2015.

It works with IDA Pro 6.9, 6.95 and 7.0. In batch mode, it supports Radare2 too (check this fork). In the future, adding support for Binary Ninja is also planned.

For more details, please check the tutorial in the "doc" directory.

Getting help and asking for features

You can join the mailing list https://groups.google.com/forum/?hl=es#!forum/diaphora to ask for help, new features, report issues, etc... For reporting bugs, however, I recommend using the issues tracker: https://github.com/joxeankoret/diaphora/issues

Please note that only the last 2 versions of IDA will be supported. As of today, it means that only IDA 6.95 and 7.0 are supported. Versions 6.8 and 6.9 do work (with all the last patches that were supplied to customers), but no support is offered for them.


You can check the tutorial https://github.com/joxeankoret/diaphora/blob/master/doc/diaphora_help.pdf


This is a screenshot of Diaphora diffing the PEGASUS iOS kernel Vulnerability fixed in iOS 9.3.5:

Diffing iOS 9.3.5 diff

And this is an old screenshot of Diaphora diffing the Microsoft bulletin MS15-034:

Diaphora diffing MS15-034

These are some screenshots of Diaphora diffing the Microsoft bulletin MS15-050, extracted from the blog post Analyzing MS15-050 With Diaphora from Alex Ionescu.

Diaphora diffing MS15-050, best matches Diaphora diffing MS15-050, partial matches Diaphora diffing MS15-050, diffing pseudo-code