summaryrefslogtreecommitdiff
path: root/src/analysis/disass/disassembler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/disassembler.c')
-rw-r--r--src/analysis/disass/disassembler.c46
1 files changed, 29 insertions, 17 deletions
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index fcc41cb..50c71da 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -304,28 +304,24 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
*/
+ /* Seconde étape */
+ routines = g_binary_format_get_routines(G_BIN_FORMAT(disass->format), &routines_count);
- /* Seconde étape */
- id = gtk_extended_status_bar_push(statusbar, _("Establishing links..."), true);
- /**
- *
- * Lequel choisir ???
+ //id = gtk_extended_status_bar_push(statusbar, _("Finding remaining limits..."), true);
-G_BIN_FORMAT(disass->format)
-G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
+ //qsort(routines, routines_count, sizeof(GBinRoutine *), (__compar_fn_t)g_binary_routine_rcompare);
- */
+ limit_all_routines(disass->format, proc, routines, routines_count, statusbar, id);
+ //gtk_extended_status_bar_remove(statusbar, id);
- establish_links_between_instructions(*disass->instrs, G_BIN_FORMAT(disass->format), statusbar, id);
+ //run_plugins_on_binary(disass->binary, PGA_BINARY_BOUNDED, true);
- gtk_extended_status_bar_remove(statusbar, id);
- //run_plugins_on_binary(disass->binary, PGA_BINARY_LINKED, true);
@@ -334,20 +330,24 @@ G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
/* Troisième étape */
- routines = g_binary_format_get_routines(G_BIN_FORMAT(disass->format), &routines_count);
+ id = gtk_extended_status_bar_push(statusbar, _("Establishing links..."), true);
+ /**
+ *
+ * Lequel choisir ???
+G_BIN_FORMAT(disass->format)
+G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
- //id = gtk_extended_status_bar_push(statusbar, _("Finding remaining limits..."), true);
+ */
- //qsort(routines, routines_count, sizeof(GBinRoutine *), (__compar_fn_t)g_binary_routine_rcompare);
- limit_all_routines(disass->format, routines, routines_count, statusbar, id);
+ establish_links_between_instructions(*disass->instrs, G_BIN_FORMAT(disass->format), statusbar, id);
- //gtk_extended_status_bar_remove(statusbar, id);
+ gtk_extended_status_bar_remove(statusbar, id);
- //run_plugins_on_binary(disass->binary, PGA_BINARY_BOUNDED, true);
+ //run_plugins_on_binary(disass->binary, PGA_BINARY_LINKED, true);
@@ -372,6 +372,18 @@ G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
+ /* Sixième étape */
+
+ id = gtk_extended_status_bar_push(statusbar, _("Ranking each instructions block..."), true);
+
+ //qsort(routines, routines_count, sizeof(GBinRoutine *), (__compar_fn_t)g_binary_routine_rcompare);
+
+ rank_routines_blocks(routines, routines_count, statusbar, id);
+
+ gtk_extended_status_bar_remove(statusbar, id);
+
+ //run_plugins_on_binary(disass->binary, PGA_BINARY_GROUPED, true);
+