summaryrefslogtreecommitdiff
path: root/src/format/exe_format.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/format/exe_format.h')
-rw-r--r--src/format/exe_format.h152
1 files changed, 0 insertions, 152 deletions
diff --git a/src/format/exe_format.h b/src/format/exe_format.h
deleted file mode 100644
index b4cecb3..0000000
--- a/src/format/exe_format.h
+++ /dev/null
@@ -1,152 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * exe_format.h - prototypes pour le support des formats d'exécutables
- *
- * Copyright (C) 2008-2012 Cyrille Bagard
- *
- * This file is part of Chrysalide.
- *
- * OpenIDA 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.
- *
- * OpenIDA 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 Foobar. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#ifndef _FORMAT_EXE_FORMAT_H
-#define _FORMAT_EXE_FORMAT_H
-
-
-#include <stdbool.h>
-#include <stdint.h>
-#include <sys/types.h>
-
-
-#include "../analysis/routine.h"
-
-#include "symbol.h"
-
-
-/* ------------------------ MANIPULATION DES PARTIES DE CODE ------------------------ */
-
-
-/* Description d'une partie binaire */
-typedef struct _bin_part bin_part;
-
-
-/* Crée une description de partie de code vierge. */
-bin_part *create_bin_part(void);
-
-/* Attribue une description humaine à une partie de code. */
-void set_bin_part_name(bin_part *, const char *);
-
-/* Définit les valeurs utiles d'une partie de code. */
-void set_bin_part_values(bin_part *, off_t, off_t, uint64_t);
-
-/* Fournit les valeurs utiles d'une partie de code. */
-void get_bin_part_values(const bin_part *, off_t *, off_t *, uint64_t *);
-
-/* Supprime de la mémoire une description de partie de code. */
-void delete_bin_part(bin_part *);
-
-/* Etablit la comparaison entre deux blocs binaires. */
-int compare_bin_parts(const bin_part **, const bin_part **);
-
-
-
-
-/* FIXME !!!!!!!!!!!! */
-
-/* Support générique d'un format d'exécutable */
-typedef struct _exe_format exe_format;
-
-
-
-/* ------------------------ DETECTION DE FORMATS EXECUTABLES ------------------------ */
-
-
-/* Indication à propos du support d'un format */
-typedef bool (* exe_match_fc) (const uint8_t *, off_t);
-
-/* Méthode de chargement d'un format */
-typedef exe_format * (* exe_load_fc) (const uint8_t *, off_t);
-
-
-/* Procède au chargement des formats d'exécutables reconnus. */
-bool init_all_exe_formats(void);
-
-/* Charge si possible un nouvel exécutable binaire. */
-exe_format *load_new_exe_format(const uint8_t *, off_t);
-
-
-
-
-#if 0
-/* Architectures de destination des formats */
-typedef enum _FormatTargetMachine
-{
- FTM_JVM, /* Java Virtual Machine */
- FTM_MIPS, /* Mips 32 ou 64 bits */
- FTM_386, /* Intel 80386 */
-
- FTM_COUNT
-
-} FormatTargetMachine;
-
-
-
-/* Types de symbole */
-typedef enum _SymbolType
-{
- STP_SECTION, /* Simple morceau de code */
- STP_STRING /* Chaîne de caractères */
-
-} SymbolType;
-#endif
-
-
-/* Types de symbole */
-typedef enum _ResolvedType
-{
- RTP_SECTION, /* Simple morceau de code */
- RTP_STRING /* Chaîne de caractères */
-
-} ResolvedType;
-
-
-/* Fournit une référence vers le contenu binaire analysé. */
-const uint8_t *get_exe_content(const exe_format *, off_t *);
-
-
-
-/* Indique le type d'architecture visée par le format. */
-FormatTargetMachine get_exe_target_machine(const exe_format *);
-
-
-
-/* Recherche une section donnée au sein de binaire. */
-bool find_exe_section(const exe_format *, const char *, off_t *, off_t *, uint64_t *);
-
-/* Récupère tous les symboles présents dans le contenu binaire. */
-size_t get_exe_symbols(const exe_format *, char ***, SymbolType **, uint64_t **);
-
-/* Récupère tous les éléments identifiées dans le binaire. */
-size_t get_exe_resolved_items(const exe_format *, char ***, ResolvedType **, uint64_t **);
-
-/* Recherche le symbole correspondant à une adresse. */
-bool resolve_exe_symbol(const exe_format *, char **, SymbolType *, vmpa_t *);
-
-/* Fournit le prototype de toutes les routines détectées. */
-GBinRoutine **get_all_exe_routines(const exe_format *, size_t *);
-
-
-
-#endif /* _FORMAT_EXE_FORMAT_H */