summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-10-27 15:04:13 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-10-27 15:04:13 (GMT)
commit7932fbf156fc357139638a342a46189450f7f484 (patch)
treee0b0d3d7bb82410e0efeec7a6a5ebb8e0c7a5cc6
parentf6a487181ae950f376b131ce797f7cd058498401 (diff)
Run Python bindings standalone mode as batch mode.
-rw-r--r--plugins/pychrysalide/pychrysa.c11
-rw-r--r--src/analysis/binary.c3
2 files changed, 13 insertions, 1 deletions
diff --git a/plugins/pychrysalide/pychrysa.c b/plugins/pychrysalide/pychrysa.c
index 742805d..50d2f92 100644
--- a/plugins/pychrysalide/pychrysa.c
+++ b/plugins/pychrysalide/pychrysa.c
@@ -401,6 +401,17 @@ PyMODINIT_FUNC PyInit_pychrysalide(void)
if (_standalone)
{
+ /**
+ * Comme les sources locales sont prioritaires, le fichier "core/global.h"
+ * du greffon masque la fonction suivante, issue du corps principal du
+ * programme.
+ *
+ * On la déclare donc à la main.
+ */
+ extern void set_batch_mode(void);
+
+ set_batch_mode();
+
init_all_plugins(false);
lock_plugin_list_for_reading();
diff --git a/src/analysis/binary.c b/src/analysis/binary.c
index 5b84f58..f03ad17 100644
--- a/src/analysis/binary.c
+++ b/src/analysis/binary.c
@@ -1478,7 +1478,8 @@ static bool g_loaded_binary_analyze(GLoadedBinary *binary, wgroup_id_t gid, GtkS
/* Phase de désassemblage pur */
- g_loaded_binary_connect_internal(binary);
+ if (!is_batch_mode())
+ g_loaded_binary_connect_internal(binary);
disassemble_binary(binary, gid, status, &context);