summaryrefslogtreecommitdiff
path: root/plugins/pyoida/pyoida.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pyoida/pyoida.c')
-rw-r--r--plugins/pyoida/pyoida.c69
1 files changed, 57 insertions, 12 deletions
diff --git a/plugins/pyoida/pyoida.c b/plugins/pyoida/pyoida.c
index 860da5b..82f9980 100644
--- a/plugins/pyoida/pyoida.c
+++ b/plugins/pyoida/pyoida.c
@@ -24,14 +24,26 @@
#include "pyoida.h"
-
#include <Python.h>
+#include "analysis/module.h"
+#include "arch/module.h"
+#include "format/module.h"
+
+/*
#include "analysis/py_binary.h"
#include "analysis/py_line.h"
#include "analysis/py_line_code.h"
+#include "analysis/roptions.h"
+*/
+#include "plugin.h"
#include "py_log.h"
+#include "../../src/common/environment.h"
+
+
+#include "plugin.h"
+
static GObject *_ref = NULL;
@@ -59,13 +71,6 @@ static PyMethodDef SpamMethods[] = {
-
-
-
-
-
-
-
/******************************************************************************
* *
* Paramètres : ref = espace de référencement global. *
@@ -80,11 +85,44 @@ static PyMethodDef SpamMethods[] = {
bool init_plugin(GObject *ref)
{
+ GPluginModule *plugin;
+ int ret;
printf("Init pyoida\n");
_ref = ref;
+ add_to_env_var("PYTHONPATH", "/home/ocb/prog/openida/plugins/python", ";");
+
+
+ Py_Initialize();
+
+ initpyoida();
+
+
+
+
+ plugin = g_python_plugin_new("lnxsyscalls/lnxsyscalls");
+ add_plugin_to_main_list(plugin);
+
+
+
+#if 0
+
+#if 0
+ //main2("/home/ocb/prog/openida/plugins/pyoida/lnxsyscalls/lnxsyscalls.py", "get_instance");
+ main2("lnxsyscalls", "get_instance");
+#else
+ //main2("/home/ocb/prog/openida/plugins/pyoida/lnxsyscalls/lnxsyscalls.py", "get_instance");
+ main2("lnxsyscalls/lnxsyscalls", "get_instance");
+#endif
+
+#endif
+
+ //Py_Finalize();
+
+ //exit(-1);
+
return true;
}
@@ -114,20 +152,27 @@ PyInit_pyoida(void)
/* Python 2.x code */
+typedef struct {
+ PyObject_HEAD
+ PyObject *md_dict;
+} PyModuleObject;
+
PyMODINIT_FUNC
initpyoida(void)
{
PyObject *module;
-
printf("Passage 2\n");
module = Py_InitModule("pyoida", SpamMethods);
- add_binary_to_python_module(module);
- add_line_to_python_module(module);
- add_pycodeline_to_python_module(module);
+ //add_analysis_roptions_to_python_module(module);
+ add_analysis_module_to_python_module(module);
+ add_arch_module_to_python_module(module);
+ add_format_module_to_python_module(module);
+
add_log_to_python_module(module);
+ add_plugin_to_python_module(module);
}