joxeankoret / diaphora

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

Load results and import automate #202

Closed YungRaj closed 3 years ago

YungRaj commented 3 years ago

Basically the merge request here is to allow the load results and import functionality to be consolidated and to be executed in a script that results in the process being automated. The changes include adding a function named load_and_import_all_results() that does what load_results() does but doesn't get the main_db and diff_db from the users selection but from arguments passed to it. load_and_import_all_results() also doesn't show the chooser results at the end, but calls CBinDiff.do_import_auto() with the best_chooser as the argument to start the importing process. We also gracefully exit idat headless at the end using idaapi.qexit(0) to save the database at the end. The functions defined get called using a script named diaphora_load_and_import.py which takes three arguments from the command line in the form

idat64 -A -B -S/path/to/diaphora_load_and_import.py "symbolicated_main_diff.db" "main.db" "symbolicated.db" path_to_main_binary

lgtm-com[bot] commented 3 years ago

This pull request introduces 3 alerts when merging 9fe4565590a7a6c50eb601f1af939bc25c3b8cb7 into 85cc4bb3715c7a2ea9d4705d75a6121ab46121ed - view on LGTM.com

new alerts:

lgtm-com[bot] commented 3 years ago

This pull request introduces 4 alerts when merging 28ff6e0d087154809056dc168506dcd3ead131d8 into 85cc4bb3715c7a2ea9d4705d75a6121ab46121ed - view on LGTM.com

new alerts:

YungRaj commented 3 years ago

So I just implemented the changes for IDA 7.5 on my fork found here https://github.com/YungRaj/diaphora in master. This was because it took time for me to get a proper IDA license to carry out these changes and test them. It should be good to go.

joxeankoret commented 3 years ago

Sorry for taking so long to integrate it. I will try to do it this month, but I can't promise anything just yet.

joxeankoret commented 3 years ago

And, done. Again, thank you very much!