summaryrefslogtreecommitdiff
path: root/src/analysis/disass/disassembler.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-01-20 07:05:53 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-01-20 07:05:53 (GMT)
commit93463ae02aa643d6370c7ed5bf61a815949b0d41 (patch)
treed0c6d0f75049eb004cea234fd457836fa9997d2e /src/analysis/disass/disassembler.c
parentdac61a1c5fdb5e3630dc0907a5e0e1a22789de9d (diff)
Given valid addresses to prologue lines.
Diffstat (limited to 'src/analysis/disass/disassembler.c')
-rw-r--r--src/analysis/disass/disassembler.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index c3e1098..c9aa472 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -103,7 +103,7 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *, GtkStatusStack
/* Construit la description d'introduction du désassemblage. */
-static void build_disass_prologue(GBufferCache *, const GCodingLanguage *, const char *, const char *);
+static void build_disass_prologue(GBufferCache *, const GBinFormat *, const GCodingLanguage *, const char *, const char *);
@@ -621,6 +621,7 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkStatus
/******************************************************************************
* *
* Paramètres : cache = tampon de destination pour le texte. *
+* format = format associé au contenu représenté. *
* lang = trauducteur pour l'impression finale. *
* filename = nom du fichier ciblé à décompiler. *
* checksum = empreinte identifiant le binaire chargé. *
@@ -633,7 +634,7 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkStatus
* *
******************************************************************************/
-static void build_disass_prologue(GBufferCache *cache, const GCodingLanguage *lang, const char *filename, const char *checksum)
+static void build_disass_prologue(GBufferCache *cache, const GBinFormat *format, const GCodingLanguage *lang, const char *filename, const char *checksum)
{
char **text; /* Contenu brute à imprimer */
GIntroGenerator *generator; /* Générateur constitué */
@@ -655,7 +656,7 @@ static void build_disass_prologue(GBufferCache *cache, const GCodingLanguage *la
/* Intégration finale */
- generator = g_intro_generator_new(lang, text, 4);
+ generator = g_intro_generator_new(format, lang, text, 4);
g_buffer_cache_append(cache, G_LINE_GENERATOR(generator), BLF_NONE);
@@ -700,7 +701,7 @@ void disassemble_binary(GLoadedBinary *binary, GBufferCache **cache, disassembly
g_object_unref(G_OBJECT(format));
- build_disass_prologue(*cache, lang, g_binary_content_describe(content, true), checksum);
+ build_disass_prologue(*cache, format, lang, g_binary_content_describe(content, true), checksum);
disass = g_delayed_disassembly_new(binary, *cache);
g_signal_connect(disass, "work-completed", G_CALLBACK(ack), binary);