diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-03-31 21:12:35 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-03-31 21:12:35 (GMT) |
commit | 7cbdd17b441b35d48624956aa438bde69f18bc37 (patch) | |
tree | 438af8d0a994d6e203cf66ea91cf336bb071ee44 /plugins/pyoida/pyoida.c | |
parent | d5e55f2ad015781bd7bee0e3216e47d6218e0841 (diff) |
Implemented first steps to a Python plugins support.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@146 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'plugins/pyoida/pyoida.c')
-rw-r--r-- | plugins/pyoida/pyoida.c | 69 |
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); } |