diff options
Diffstat (limited to 'src/analysis/disass/area.h')
-rw-r--r-- | src/analysis/disass/area.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/analysis/disass/area.h b/src/analysis/disass/area.h index 35a3533..aa26da0 100644 --- a/src/analysis/disass/area.h +++ b/src/analysis/disass/area.h @@ -25,10 +25,52 @@ #define _ANALYSIS_DISASS_AREA_H +#include "../binary.h" +#include "../../arch/instruction.h" +#include "../../gtkext/gtkextstatusbar.h" + + + + +/* Zone mémoire bien bornée */ +typedef struct _mem_area_v2 mem_area_v2; + + + + + +/* Procède au désassemblage d'un contenu binaire exécutable. */ +void load_code_from_mem_area_v2(mem_area_v2 *, mem_area_v2 *, size_t, GProcContext *, const vmpa2t *, status_blob_info *); + + + + +/* Détermine une liste de zones contigües à traiter. */ +mem_area_v2 *find_memory_area_by_addr_v2(mem_area_v2 *, size_t, const vmpa2t *); + + + +/* Détermine une liste de zones contigües à traiter. */ +mem_area_v2 *compute_memory_areas_v2(const GLoadedBinary *, phys_t, size_t *); + +/* Insère un symbole dans un découpage en aires. */ +void insert_extra_symbol_into_mem_areas_v2(mem_area_v2 *, size_t, const GBinSymbol *); + +/* S'assure que l'ensemble des aires est entièrement décodé. */ +void ensure_all_mem_areas_are_filled(mem_area_v2 *, size_t, GProcContext *, status_blob_info *); + +/* Rassemble les instructions conservées dans des zones données. */ +GArchInstruction *collect_instructions_from_mem_areas_v2(const mem_area_v2 *, size_t); + + + + + #include <stdbool.h> + #include "../binary.h" #include "../../format/executable.h" #include "../../gtkext/gtkextstatusbar.h" @@ -48,6 +90,7 @@ typedef struct _mem_area mem_area; + /* Procède au désassemblage d'un contenu binaire exécutable. */ bool load_code_from_mem_area(mem_area **, size_t *, size_t *, const GLoadedBinary *, GProcContext *, const vmpa2t *, status_blob_info *); |