summaryrefslogtreecommitdiff
path: root/src/analysis/disass/disassembler.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-23 19:59:45 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-23 21:00:28 (GMT)
commit7135e7944c91d2e8b787c8782375423b9a90ed5b (patch)
tree0d89895ded35b301642119e38817a33abe1b2fcd /src/analysis/disass/disassembler.c
parent27d2c90a6a609dcef47880fa43241b77e66f5d85 (diff)
Ensured even imported symbols are displayed in the final output.
Diffstat (limited to 'src/analysis/disass/disassembler.c')
-rw-r--r--src/analysis/disass/disassembler.c87
1 files changed, 39 insertions, 48 deletions
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index efe50e1..0995b63 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -56,9 +56,6 @@ static void process_all_routines(wgroup_id_t, GtkStatusStack *, const char *, rt
/* Réalise un désassemblage effectif. */
static void compute_disassembly(GLoadedBinary *, GProcContext *, wgroup_id_t, GtkStatusStack *);
-/* Imprime le résultat d'un désassemblage. */
-static void output_disassembly(GLoadedBinary *, GProcContext *, GtkStatusStack *, GBufferCache **);
-
/******************************************************************************
@@ -339,6 +336,44 @@ static void compute_disassembly(GLoadedBinary *binary, GProcContext *context, wg
/******************************************************************************
* *
* Paramètres : binary = représentation de binaire chargé. *
+* gid = groupe de travail dédié. *
+* status = barre de statut à tenir informée. *
+* context = contexte de désassemblage. [OUT] *
+* *
+* Description : Procède au désassemblage d'un contenu binaire donné. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void disassemble_binary(GLoadedBinary *binary, wgroup_id_t gid, GtkStatusStack *status, GProcContext **context)
+{
+ GArchProcessor *proc; /* Architecture du binaire */
+
+ /* Préparatifs */
+
+ process_disassembly_event(PGA_DISASSEMBLY_STARTED, binary);
+
+ proc = g_loaded_binary_get_processor(binary);
+
+ *context = g_arch_processor_get_context(proc);
+
+ g_object_unref(G_OBJECT(proc));
+
+ /* Lancement des opérations ! */
+
+ compute_disassembly(binary, *context, gid, status);
+
+ process_disassembly_event(PGA_DISASSEMBLY_ENDED, binary);
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : binary = représentation de binaire chargé. *
* context = contexte de désassemblage utilisé. *
* status = barre de statut à tenir informée. *
* cache = tampon de code mis en place. [OUT] *
@@ -351,7 +386,7 @@ static void compute_disassembly(GLoadedBinary *binary, GProcContext *context, wg
* *
******************************************************************************/
-static void output_disassembly(GLoadedBinary *binary, GProcContext *context, GtkStatusStack *status, GBufferCache **cache)
+void output_disassembly(GLoadedBinary *binary, GProcContext *context, GtkStatusStack *status, GBufferCache **cache)
{
GBinFormat *format; /* Format associé au binaire */
GBinContent *content; /* Contenu bianire manipulé */
@@ -428,50 +463,6 @@ static void output_disassembly(GLoadedBinary *binary, GProcContext *context, Gtk
g_object_unref(G_OBJECT(content));
g_object_unref(G_OBJECT(format));
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : binary = représentation de binaire chargé. *
-* gid = groupe de travail dédié. *
-* status = barre de statut à tenir informée. *
-* cache = tampon de code mis en place. [OUT] *
-* *
-* Description : Procède au désassemblage d'un contenu binaire donné. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-void disassemble_binary(GLoadedBinary *binary, wgroup_id_t gid, GtkStatusStack *status, GBufferCache **cache)
-{
- GArchProcessor *proc; /* Architecture du binaire */
- GProcContext *context; /* Contexte de suivi dédié */
-
- /* Préparatifs */
-
- process_disassembly_event(PGA_DISASSEMBLY_STARTED, binary);
-
- proc = g_loaded_binary_get_processor(binary);
-
- context = g_arch_processor_get_context(proc);
-
- /* Lancement des opérations ! */
-
- compute_disassembly(binary, context, gid, status);
-
- process_disassembly_event(PGA_DISASSEMBLY_ENDED, binary);
-
- if (!is_batch_mode())
- output_disassembly(binary, context, status, cache);
-
- /* Nettoyage final et sortie ! */
-
g_object_unref(G_OBJECT(context));
- g_object_unref(G_OBJECT(proc));
-
}