joxeankoret / diaphora

Diaphora, the most advanced Free and Open Source program diffing tool.
http://diaphora.re
GNU Affero General Public License v3.0
3.51k stars 370 forks source link

What new features would like you see in future Diaphora versions? #264

Open joxeankoret opened 1 year ago

joxeankoret commented 1 year ago

Feel free to comment here what features you would like to have in Diaphora.

Myles1 commented 1 year ago

Not a feature so much, but optimizing the export speed would be nice. I have an arm64 binary that takes over 2 and a half hours to export at the moment. [Diaphora: Wed Jul 19 21:07:13 2023] Database exported, time taken: 2:43:39.113402.

Also, I don't import structs because they typically change from version-to-version. Maybe there's a way to identify changes based on how/where fields are used in the program?

Another idea could be matching across architectures? I know this would be a huge job though.

All-in-all, this project is one of the biggest reasons why I prefer IDA to others. It's just so nice to be able to automate function matching in this way. You've made an enormously helpful program.

joxeankoret commented 12 months ago

Hi @Myles1,

Not a feature so much, but optimizing the export speed would be nice.

This is one of the areas where I have spent most of the time and, honestly, unless Hex-Rays do a huge rewrite in order to make IDA APIs thread-safe and I can implement multi-threading, there is little else I can do, besides what I have already done from version 2.X to 3.X.

Maybe there's a way to identify changes based on how/where fields are used in the program?

Could you elaborate please?

Another idea could be matching across architectures?

It already does, both using the decompiler, that proved to be the best Intermediate Representation I can use, and with graph theory (although it usually causes too many false positives). If you have some specific use-case or problem you had here, please tell me more and I will try to fix whatever might happen there.

You've made an enormously helpful program.

Thank you :)

jpsnyder commented 11 months ago

I would love to see support for Ghidra, but I understand that would be a huge undertaking.