diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-11-24 14:28:22 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-11-24 14:28:22 (GMT) |
commit | dd851e1fb743d77b421519ee5915534aed2d2c4f (patch) | |
tree | 9a9f91c09438467ade7a67c5e2188b4051d23569 /plugins/dwarf/d_dwarf.c | |
parent | 59b1bdfdc9b64dac8fd1450c51aa5014c8c469f0 (diff) |
Updated the DWARF support.
Diffstat (limited to 'plugins/dwarf/d_dwarf.c')
-rw-r--r-- | plugins/dwarf/d_dwarf.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/plugins/dwarf/d_dwarf.c b/plugins/dwarf/d_dwarf.c deleted file mode 100644 index 67ab955..0000000 --- a/plugins/dwarf/d_dwarf.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * d_dwarf.c - support du format DWARF - * - * Copyright (C) 2008-2017 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 Chrysalide. If not, see <http://www.gnu.org/licenses/>. - */ - - -#include "d_dwarf.h" - - -#include <malloc.h> - - -#include "abbrev.h" -#include "dwarf-int.h" -#include "info.h" - - - - - - - -/****************************************************************************** -* * -* Paramètres : content = contenu binaire à parcourir. * -* length = taille du contenu en question. * -* e_format = gestionnaire global (partie exécutable). * -* * -* Description : Prend en charge un nouveau DWARF. * -* * -* Retour : Adresse de la structure mise en place ou NULL en cas d'échec.* -* * -* Remarques : - * -* * -******************************************************************************/ - -dwarf_format *load_dwarf(const uint8_t *content, off_t length, exe_format *e_format) -{ - dwarf_format *result; /* Structure à retourner */ - bool test; /* Bilan d'une initialisation */ - - result = (dwarf_format *)calloc(1, sizeof(dwarf_format)); - - DBG_FORMAT(result)->content = content; - DBG_FORMAT(result)->length = length; - - DBG_FORMAT(result)->e_format = e_format; - - result->format = DWF_32_BITS; - - test = load_dwarf_abbreviations(result); - - test = load_dwarf_information(result); - - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : format = informations chargées à consulter. * -* comments = liste des commentaires à insérer. [OUT] * -* offsets = liste des indices des commentaires. [OUT] * -* * -* Description : Récupère tous les commentaires à insérer dans le code. * -* * -* Retour : Nombre d'éléments mis en place. * -* * -* Remarques : - * -* * -******************************************************************************/ - -size_t get_dwarf_comments(const dwarf_format *format, const char ***comments, uint64_t **offsets) -{ - size_t result; /* Quantité à retourner */ - size_t i; /* Boucle de parcours */ - - result = format->dbg_fc_count; - - if (result > 0) - { - *comments = (char **)calloc(result, sizeof(char *)); - *offsets = (uint64_t *)calloc(result, sizeof(uint64_t)); - - for (i = 0; i < result; i++) - { - (*comments)[i] = format->dbg_functions[i]->prototype; - (*offsets)[i] = format->dbg_functions[i]->low_pc; - } - - } - - return result; - -} |