diff options
Diffstat (limited to 'src/analysis/disass/area.h')
-rw-r--r-- | src/analysis/disass/area.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/analysis/disass/area.h b/src/analysis/disass/area.h index 2e80b04..b517816 100644 --- a/src/analysis/disass/area.h +++ b/src/analysis/disass/area.h @@ -45,14 +45,19 @@ typedef struct _mem_area mem_area; /* Procède au désassemblage d'un contenu binaire exécutable. */ -void load_code_from_mem_area(mem_area *, mem_area *, size_t, const GLoadedBinary *, GProcContext *, const vmpa2t *, status_blob_info *); +void load_code_from_mem_area(mem_area **, size_t *, size_t *, const GLoadedBinary *, GProcContext *, const vmpa2t *, status_blob_info *); -/* Détermine une liste de zones contigües à traiter. */ -mem_area *compute_memory_areas(GExeFormat *, phys_t, size_t *); +/* S'assure qu'une aire qqcontient toutes ses instructions. */ +void fill_mem_area(mem_area **, size_t *, size_t *, const GLoadedBinary *, GProcContext *, status_blob_info *); + + + +/* Détermine une liste de zones contigües à traiter. */ +mem_area *compute_memory_areas(GExeFormat *, phys_t, size_t *); @@ -61,13 +66,11 @@ mem_area *compute_memory_areas(GExeFormat *, phys_t, size_t *); /* Détermine une liste de zones contigües à traiter. */ -mem_area *find_memory_area_by_addr(mem_area *, size_t, const vmpa2t *); +size_t find_memory_area_by_addr(mem_area *, size_t, const vmpa2t *); -/* S'assure que l'ensemble des aires est entièrement décodé. */ -void ensure_all_mem_areas_are_filled(mem_area *, size_t, const GLoadedBinary *, GProcContext *, status_blob_info *); /* Rassemble les instructions conservées dans des zones données. */ GArchInstruction *collect_instructions_from_mem_areas(mem_area *, size_t); |