From c9ee0db8f8012eb523ef26de6b8a0b86181c2609 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Wed, 12 Dec 2018 04:13:36 +0100 Subject: Provided access to loaded content from Python. --- plugins/pychrysalide/analysis/loaded.c | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/plugins/pychrysalide/analysis/loaded.c b/plugins/pychrysalide/analysis/loaded.c index ac8176f..6801ec3 100644 --- a/plugins/pychrysalide/analysis/loaded.c +++ b/plugins/pychrysalide/analysis/loaded.c @@ -52,6 +52,9 @@ static PyObject *py_loaded_content_detect_obfuscators(PyObject *, PyObject *); /* Détermine le nombre de vues disponibles pour un contenu. */ static PyObject *py_loaded_content_count_views(PyObject *, PyObject *); +/* Fournit le contenu représenté de l'élément chargé. */ +static PyObject *py_loaded_content_get_content(PyObject *, void *); + /****************************************************************************** @@ -189,6 +192,38 @@ static PyObject *py_loaded_content_count_views(PyObject *self, PyObject *args) /****************************************************************************** * * +* Paramètres : self = objet Python concerné par l'appel. * +* closure = non utilisé ici. * +* * +* Description : Fournit le contenu représenté de l'élément chargé. * +* * +* Retour : Contenu représenté. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static PyObject *py_loaded_content_get_content(PyObject *self, void *closure) +{ + PyObject *result; /* Instance Python à retourner */ + GLoadedContent *content; /* Version GLib de l'élément */ + GBinContent *bincnt; /* Contenu binaire associé */ + + content = G_LOADED_CONTENT(pygobject_get(self)); + + bincnt = g_loaded_content_get_content(content); + + result = pygobject_new(G_OBJECT(bincnt)); + + g_object_unref(G_OBJECT(bincnt)); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : - * * * * Description : Fournit un accès à une définition de type à diffuser. * @@ -228,6 +263,10 @@ PyTypeObject *get_python_loaded_content_type(void) }; static PyGetSetDef py_loaded_content_getseters[] = { + { + "content", py_loaded_content_get_content, NULL, + "Binary content.", NULL + }, { NULL } }; -- cgit v0.11.2-87-g4458