summaryrefslogtreecommitdiff
path: root/src/analysis
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2014-06-25 19:30:19 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2014-06-25 19:30:19 (GMT)
commite8aa314462196cc9e8461ae23eb13f8bffcc983f (patch)
treedd41b8cdc44fe6dff774b1faca0500536ca8e565 /src/analysis
parent3bf12eda58a8d04ac3d2d6754a480de4c262570d (diff)
Given a name and a description for binaries, not always based on a filenames.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@380 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis')
-rw-r--r--src/analysis/binaries/file.c28
-rw-r--r--src/analysis/binaries/file.h2
-rw-r--r--src/analysis/binary-int.h4
-rw-r--r--src/analysis/binary.c6
-rw-r--r--src/analysis/binary.h4
-rw-r--r--src/analysis/disass/disassembler.c2
6 files changed, 34 insertions, 12 deletions
diff --git a/src/analysis/binaries/file.c b/src/analysis/binaries/file.c
index ad140ab..d833828 100644
--- a/src/analysis/binaries/file.c
+++ b/src/analysis/binaries/file.c
@@ -66,6 +66,9 @@ static void g_file_binary_finalize(GFileBinary *);
/* Ecrit une sauvegarde du binaire dans un fichier XML. */
static bool g_file_binary_save(const GFileBinary *, xmlDocPtr, xmlXPathContextPtr, const char *);
+/* Fournit le nom associé à l'élément binaire. */
+static const char *g_file_binary_get_name(const GFileBinary *, bool);
+
/* Indique le type défini pour une description de fichier binaire. */
@@ -115,7 +118,7 @@ static void g_file_binary_init(GFileBinary *binary)
loaded = G_LOADED_BINARY(binary);
loaded->save = (save_binary_fc)g_file_binary_save;
- loaded->get_filename = (get_binary_filename_fc)g_file_binary_get_filename;
+ loaded->get_name = (get_binary_name_fc)g_file_binary_get_name;
}
@@ -337,7 +340,7 @@ static bool g_file_binary_save(const GFileBinary *binary, xmlDocPtr xdoc, xmlXPa
* Paramètres : binary = élément binaire à consulter. *
* full = précise s'il s'agit d'une version longue ou non. *
* *
-* Description : Fournit le fichier correspondant à l'élément binaire. *
+* Description : Fournit le nom associé à l'élément binaire. *
* *
* Retour : Nom de fichier avec chemin absolu. *
* *
@@ -345,7 +348,7 @@ static bool g_file_binary_save(const GFileBinary *binary, xmlDocPtr xdoc, xmlXPa
* *
******************************************************************************/
-const char *g_file_binary_get_filename(const GFileBinary *binary, bool full)
+static const char *g_file_binary_get_name(const GFileBinary *binary, bool full)
{
const char *result; /* Description à retourner */
@@ -357,3 +360,22 @@ const char *g_file_binary_get_filename(const GFileBinary *binary, bool full)
return result;
}
+
+
+/******************************************************************************
+* *
+* Paramètres : binary = élément binaire à consulter. *
+* *
+* Description : Fournit le fichier correspondant à l'élément binaire. *
+* *
+* Retour : Nom de fichier avec chemin absolu. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+const char *g_file_binary_get_filename(const GFileBinary *binary)
+{
+ return binary->filename;
+
+}
diff --git a/src/analysis/binaries/file.h b/src/analysis/binaries/file.h
index 40bc722..63f7e7c 100644
--- a/src/analysis/binaries/file.h
+++ b/src/analysis/binaries/file.h
@@ -57,7 +57,7 @@ GLoadedBinary *g_file_binary_new_from_file(const char *);
GLoadedBinary *g_file_binary_new_from_xml(xmlXPathContextPtr, const char *);
/* Fournit le fichier correspondant à l'élément binaire. */
-const char *g_file_binary_get_filename(const GFileBinary *, bool);
+const char *g_file_binary_get_filename(const GFileBinary *);
diff --git a/src/analysis/binary-int.h b/src/analysis/binary-int.h
index 7c4b05e..8aa2e83 100644
--- a/src/analysis/binary-int.h
+++ b/src/analysis/binary-int.h
@@ -37,7 +37,7 @@
typedef bool (* save_binary_fc) (const GLoadedBinary *, xmlDocPtr, xmlXPathContextPtr, const char *);
/* Fournit le fichier correspondant à l'élément binaire. */
-typedef const char * (* get_binary_filename_fc) (const GLoadedBinary *, bool);
+typedef const char * (* get_binary_name_fc) (const GLoadedBinary *, bool);
/* Description de fichier binaire (instance) */
@@ -56,7 +56,7 @@ struct _GLoadedBinary
DBStorage storages[DBF_COUNT]; /* Lieux d'enregistrement */
save_binary_fc save; /* Sauvegarde au format XML */
- get_binary_filename_fc get_filename; /* Obtention d'une description */
+ get_binary_name_fc get_name; /* Obtention d'une description */
off_t bin_length; /* Taille des données brutes */
bin_t *bin_data; /* Données binaires brutes */
diff --git a/src/analysis/binary.c b/src/analysis/binary.c
index db6cbae..a9379e9 100644
--- a/src/analysis/binary.c
+++ b/src/analysis/binary.c
@@ -992,7 +992,7 @@ void g_loaded_binary_analyse(GLoadedBinary *binary)
* Paramètres : binary = élément binaire à consulter. *
* full = précise s'il s'agit d'une version longue ou non. *
* *
-* Description : Fournit le fichier correspondant à l'élément binaire. *
+* Description : Fournit le nom associé à l'élément binaire. *
* *
* Retour : Nom de fichier avec chemin absolu. *
* *
@@ -1000,9 +1000,9 @@ void g_loaded_binary_analyse(GLoadedBinary *binary)
* *
******************************************************************************/
-const char *g_loaded_binary_get_filename(const GLoadedBinary *binary, bool full)
+const char *g_loaded_binary_get_name(const GLoadedBinary *binary, bool full)
{
- return binary->get_filename(binary, full);
+ return binary->get_name(binary, full);
}
diff --git a/src/analysis/binary.h b/src/analysis/binary.h
index 5b65fa8..f3e2d09 100644
--- a/src/analysis/binary.h
+++ b/src/analysis/binary.h
@@ -119,8 +119,8 @@ GBinPart ***g_loaded_binary_get_parts(const GLoadedBinary *, BinaryPartModel *,
/* Lance l'analyse d'un élément binaire chargé. */
void g_loaded_binary_analyse(GLoadedBinary *);
-/* Fournit le fichier correspondant à l'élément binaire. */
-const char *g_loaded_binary_get_filename(const GLoadedBinary *, bool);
+/* Fournit le nom associé à l'élément binaire. */
+const char *g_loaded_binary_get_name(const GLoadedBinary *, bool);
/* Fournit une empreinte unique (SHA256) pour le binaire. */
const gchar *g_loaded_binary_get_cheksum(const GLoadedBinary *);
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index 2f430eb..8020e02 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -427,7 +427,7 @@ void disassemble_binary(GLoadedBinary *binary, GBinPart **parts, size_t parts_co
*buffer = g_code_buffer_new(BLC_ASSEMBLY);
data = g_loaded_binary_get_data(binary, &length);
- build_disass_prologue(*buffer, g_loaded_binary_get_filename(binary, true), data, length);
+ build_disass_prologue(*buffer, g_loaded_binary_get_name(binary, true), data, length);
disass = g_delayed_disassembly_new(binary, parts, parts_count, instrs, *buffer);
g_signal_connect(disass, "work-completed", G_CALLBACK(ack), binary);