summaryrefslogtreecommitdiff
path: root/plugins/pychrysa/analysis/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pychrysa/analysis/module.c')
-rw-r--r--plugins/pychrysa/analysis/module.c92
1 files changed, 92 insertions, 0 deletions
diff --git a/plugins/pychrysa/analysis/module.c b/plugins/pychrysa/analysis/module.c
index 54509a8..e13c8f8 100644
--- a/plugins/pychrysa/analysis/module.c
+++ b/plugins/pychrysa/analysis/module.c
@@ -26,6 +26,97 @@
#include "binary.h"
+#include "binaries/module.h"
+
+
+
+/******************************************************************************
+* *
+* Paramètres : module = module dont la définition est à compléter. *
+* *
+* Description : Ajoute le module 'analysis' au module Python. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+bool add_analysis_module_to_python_module(PyObject *super)
+{
+ bool result; /* Bilan à retourner */
+ PyObject *module; /* Sous-module mis en place */
+ int ret; /* Bilan d'un appel */
+
+ static PyModuleDef py_chrysalide_arch_module = {
+
+ .m_base = PyModuleDef_HEAD_INIT,
+
+ .m_name = "pychrysalide.analysis",
+ .m_doc = "Python module for Chrysalide.analysis",
+
+ .m_size = -1,
+
+ };
+
+ result = false;
+
+ module = PyModule_Create(&py_chrysalide_arch_module);
+ if (module == NULL) return false;
+
+ ret = PyState_AddModule(super, &py_chrysalide_arch_module);
+ if (ret != 0) goto aamtpm_exit;
+
+ ret = _PyImport_FixupBuiltin(module, "pychrysalide.analysis");
+ if (ret != 0) goto aamtpm_exit;
+
+ Py_INCREF(module);
+ ret = PyModule_AddObject(super, "analysis", module);
+ if (ret != 0) goto aamtpm_exit;
+
+ result = true;
+
+ result &= register_python_loaded_binary(module);
+
+ result &= add_analysis_binaries_module_to_python_module(module);
+
+ aamtpm_exit:
+
+ if (!result)
+ {
+ printf("something went wrong in %s...\n", __FUNCTION__);
+ /* ... */
+
+ }
+
+ return result;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#if 0
+#include "binary.h"
#include "block.h"
#include "routine.h"
#include "binaries/module.h"
@@ -72,3 +163,4 @@ bool add_analysis_module_to_python_module(PyObject *super)
return result;
}
+#endif