summaryrefslogtreecommitdiff
path: root/src/analysis
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-04-25 09:21:32 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-04-25 09:21:32 (GMT)
commit62ea3df536faae7e1706bbbc2c19cf43c4dae213 (patch)
tree953ad2ef97bcb5cc8e9a431ee81602fb86bd60cb /src/analysis
parent5042737fef27c821535883dadfb0ad9ac81ad294 (diff)
Included a new plugin to mark calls to exit() functions as return points.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@517 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis')
-rw-r--r--src/analysis/disass/disassembler.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index 1227e84..7b6c63e 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -227,6 +227,11 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
g_arch_processor_set_disassembled_instructions(proc, *disass->instrs);
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_RAW, disass->binary);
+
+
+
/*
*disass->instrs = disassemble_binary_parts(disass->binary, disass->parts, disass->count,
statusbar, id);
@@ -262,6 +267,10 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_HOOKED_LINK, disass->binary);
+
+
//gtk_extended_status_bar_remove(statusbar, id);
@@ -296,6 +305,10 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_HOOKED_POST, disass->binary);
+
+
/**
* TODO : établir les couvertures de fonctions,
@@ -323,6 +336,12 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_LIMITED, disass->binary);
+
+
+
+
/* Troisième étape */
id = gtk_extended_status_bar_push(statusbar, _("Detecting loops..."), true);
@@ -333,6 +352,10 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
///
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_LOOPS, disass->binary);
+
+
/* Quatrième étape */
@@ -358,6 +381,11 @@ G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
+ // plugins //////////////////////////
+ process_disassembly_event(PGA_DISASSEMBLY_LINKED, disass->binary);
+
+
+
@@ -376,6 +404,9 @@ G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
//run_plugins_on_binary(disass->binary, PGA_BINARY_GROUPED, true);
+ process_disassembly_event(PGA_DISASSEMBLY_GROUPED, disass->binary);
+
+
@@ -392,6 +423,8 @@ G_BIN_FORMAT(g_loaded_binary_get_format(disass->binary)
//run_plugins_on_binary(disass->binary, PGA_BINARY_GROUPED, true);
+ process_disassembly_event(PGA_DISASSEMBLY_RANKED, disass->binary);
+
/* Septième étape */