diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-12-30 11:11:00 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-12-30 11:11:00 (GMT) |
commit | 24731773b654f40cb1d59c3da5216a3be90e2d6f (patch) | |
tree | 71395d91b57da3a769f43e86dc808097783b9e08 /plugins/pychrysa/analysis/blocks/flow.c | |
parent | 932ea7c83c07d3982fee605c6dd9895fd2753874 (diff) |
Deleted old code.
Diffstat (limited to 'plugins/pychrysa/analysis/blocks/flow.c')
-rw-r--r-- | plugins/pychrysa/analysis/blocks/flow.c | 276 |
1 files changed, 0 insertions, 276 deletions
diff --git a/plugins/pychrysa/analysis/blocks/flow.c b/plugins/pychrysa/analysis/blocks/flow.c deleted file mode 100644 index d14ab8c..0000000 --- a/plugins/pychrysa/analysis/blocks/flow.c +++ /dev/null @@ -1,276 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * flow.h - équivalent Python du fichier "analysis/blocks/flow.c" - * - * Copyright (C) 2013 Cyrille Bagard - * - * This file is part of Chrysalide. - * - * Chrysalide is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * Chrysalide is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include "flow.h" - - -#include <pygobject.h> - - -#include <analysis/blocks/flow.h> - - -#include "../block.h" -#include "../../helpers.h" - - - - - - -#if 0 - -/* Fournit les adresses limites d'un bloc d'exécution. */ -static PyObject *py_flow_block_get_boundary_addresses(PyObject *, void *); - -/* Fournit le rang du bloc dans le flot d'exécution. */ -static PyObject *py_flow_block_get_rank(PyObject *, void *); - - - - - - - -/****************************************************************************** -* * -* Paramètres : self = classe représentant une instruction. * -* closure = adresse non utilisée ici. * -* * -* Description : Fournit les adresses limites d'un bloc d'exécution. * -* * -* Retour : Valeur associée à la propriété consultée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static PyObject *py_flow_block_get_boundary_addresses(PyObject *self, void *closure) -{ - PyObject *result; /* Trouvailles à retourner */ - GFlowBlock *block; /* Version native */ - vmpa_t start; /* Adresse de départ du bloc */ - vmpa_t end; /* Dernière adresse du bloc */ - - block = G_FLOW_BLOCK(pygobject_get(self)); - g_flow_block_get_boundary_addresses(block, &start, &end); - - result = Py_BuildValue("(KK)", start, end); - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : self = classe représentant une instruction. * -* closure = adresse non utilisée ici. * -* * -* Description : Fournit le rang du bloc dans le flot d'exécution. * -* * -* Retour : Valeur associée à la propriété consultée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static PyObject *py_flow_block_get_rank(PyObject *self, void *closure) -{ - PyObject *result; /* Trouvailles à retourner */ - GFlowBlock *block; /* Version native */ - - block = G_FLOW_BLOCK(pygobject_get(self)); - - result = Py_BuildValue("I", g_flow_block_get_rank(block)); - - return result; - -} - - - - - - - - - -/****************************************************************************** -* * -* Paramètres : module = module dont la définition est à compléter. * -* * -* Description : Prend en charge l'objet 'pychrysalide....blocks.FlowBlock'. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool register_python_flow_block(PyObject *module) -{ - PyObject *parent_mod; /* Module de la classe parente */ - int ret; /* Bilan d'un appel */ - - static PyMethodDef py_flow_block_methods[] = { - { NULL } - }; - - static PyGetSetDef py_flow_block_getseters[] = { - { - "boundary_addresses", (getter)py_flow_block_get_boundary_addresses, (setter)NULL, - "Provide the boundary addresses of the current flow block.", NULL - }, - { - "rank", (getter)py_flow_block_get_rank, (setter)NULL, - "Provide the rank of the current block in the execution flow.", NULL - }, - { NULL } - }; - - static PyTypeObject py_flow_block_type = { - - PyObject_HEAD_INIT(NULL) - - .tp_name = "pychrysalide.analysis.blocks.FlowBlock", - .tp_basicsize = sizeof(PyGObject), - - .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, - - .tp_doc = "PyChrysalide basic flow block", - - .tp_methods = py_flow_block_methods, - .tp_getset = py_flow_block_getseters - - }; - - parent_mod = PyImport_ImportModule("pychrysalide.analysis"); - if (parent_mod == NULL) return false; - - py_flow_block_type.tp_base = (PyTypeObject *)PyObject_GetAttrString(parent_mod, "InstrBlock"); - Py_DECREF(parent_mod); - - if (PyType_Ready(&py_flow_block_type) < 0) - return false; - - Py_INCREF(&py_flow_block_type); - ret = PyModule_AddObject(module, "FlowBlock", (PyObject *)&py_flow_block_type); - - register_class_for_pygobject(module, "GFlowBlock", G_TYPE_FLOW_BLOCK, &py_flow_block_type, - Py_BuildValue("(O)", py_flow_block_type.tp_base)); - - return (ret == 0); - -} - -#endif - - - - - - - - - - - - - - - - - - - -/****************************************************************************** -* * -* Paramètres : - * -* * -* Description : Fournit un accès à une définition de type à diffuser. * -* * -* Retour : Définition d'objet pour Python. * -* * -* Remarques : - * -* * -******************************************************************************/ - -PyTypeObject *get_python_flow_block_type(void) -{ - static PyMethodDef py_flow_block_methods[] = { - { NULL } - }; - - static PyGetSetDef py_flow_block_getseters[] = { - { NULL } - }; - - static PyTypeObject py_flow_block_type = { - - PyVarObject_HEAD_INIT(NULL, 0) - - .tp_name = "pychrysalide.analysis.blocks.FlowBlock", - - .tp_flags = Py_TPFLAGS_DEFAULT, - - .tp_doc = "PyChrysalide flow block", - - .tp_methods = py_flow_block_methods, - .tp_getset = py_flow_block_getseters, - - }; - - return &py_flow_block_type; - -} - - -/****************************************************************************** -* * -* Paramètres : module = module dont la définition est à compléter. * -* * -* Description : Prend en charge l'objet 'pychrysalide...blocks.FlowBlock'. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool register_python_flow_block(PyObject *module) -{ - PyTypeObject *py_flow_block_type; /* Type Python 'FlowBlock' */ - PyObject *dict; /* Dictionnaire du module */ - - py_flow_block_type = get_python_flow_block_type(); - - dict = PyModule_GetDict(module); - - if (!register_class_for_pygobject(dict, G_TYPE_FLOW_BLOCK, py_flow_block_type, get_python_instr_block_type())) - return false; - - return true; - -} |