diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-04-03 12:48:41 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-04-03 12:48:41 (GMT) |
commit | f80c4c6ee0479070f7319a5ce7e30e05406cdb8f (patch) | |
tree | 94bc363a6d1aeac29c1985a9627ceda962d1c38a /src/analysis/disass/area.c | |
parent | 36a5b2577d67ab7c9f2c5817f6dba7a9601d1f20 (diff) |
Reorganized the whole disassembling process and displayed the relative progression.
Diffstat (limited to 'src/analysis/disass/area.c')
-rw-r--r-- | src/analysis/disass/area.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/analysis/disass/area.c b/src/analysis/disass/area.c index 5f63c82..c1807b7 100644 --- a/src/analysis/disass/area.c +++ b/src/analysis/disass/area.c @@ -77,10 +77,10 @@ static bool mark_range_in_mem_area_as_processed_v2(mem_area_v2 *, GArchInstructi /* Procède au désassemblage d'un contenu binaire non exécutable. */ -static void load_data_from_mem_area_v2(mem_area_v2 *, GProcContext *, const vmpa2t *, status_blob_info *); +static void load_data_from_mem_area_v2(mem_area_v2 *, GProcContext *, const vmpa2t *, GtkStatusStack *, activity_id_t); /* S'assure qu'une aire contient toutes ses instructions. */ -static void fill_mem_area_v2(mem_area_v2 *, mem_area_v2 *, size_t, GProcContext *, status_blob_info *); +static void fill_mem_area_v2(mem_area_v2 *, mem_area_v2 *, size_t, GProcContext *, GtkStatusStack *, activity_id_t); /* Rassemble les instructions conservées dans une zone donnée. */ static GArchInstruction *get_instructions_from_mem_area_v2(const mem_area_v2 *); @@ -280,7 +280,8 @@ static bool mark_range_in_mem_area_as_processed_v2(mem_area_v2 *area, GArchInstr * binary = représentation de binaire chargé. * * ctx = contexte offert en soutien à un désassemblage. * * start = démarrage de l'exécution au sein de la zone. * -* info = indications quant à la progression à afficher. * +* status = barre de statut à actualiser. * +* id = identifiant du groupe de progression à l'affichage. * * * * Description : Procède au désassemblage d'un contenu binaire exécutable. * * * @@ -290,7 +291,7 @@ static bool mark_range_in_mem_area_as_processed_v2(mem_area_v2 *area, GArchInstr * * ******************************************************************************/ -void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t count, GProcContext *ctx, const vmpa2t *start, status_blob_info *info) +void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t count, GProcContext *ctx, const vmpa2t *start, GtkStatusStack *status, activity_id_t id) { @@ -381,7 +382,7 @@ void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t cou break; } - inc_progessive_status(info, diff); + gtk_status_stack_update_activity_value(status, id, diff); assert(!is_range_blank_in_mem_area_v2(area, i, diff)); @@ -421,7 +422,8 @@ void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t cou * Paramètres : area = aire représentant à contenu à parcourir. * * ctx = contexte offert en soutien à un désassemblage. * * start = démarrage de l'exécution au sein de la zone. * -* info = indications quant à la progression à afficher. * +* status = barre de statut à actualiser. * +* id = identifiant du groupe de progression à l'affichage. * * * * Description : Procède au désassemblage d'un contenu binaire non exécutable.* * * @@ -431,7 +433,7 @@ void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t cou * * ******************************************************************************/ -static void load_data_from_mem_area_v2(mem_area_v2 *area, GProcContext *ctx, const vmpa2t *start, status_blob_info *info) +static void load_data_from_mem_area_v2(mem_area_v2 *area, GProcContext *ctx, const vmpa2t *start, GtkStatusStack *status, activity_id_t id) { GBinContent *content; /* Données binaires à lire */ SourceEndian endianness; /* Boutisme de cette machine */ @@ -511,7 +513,7 @@ static void load_data_from_mem_area_v2(mem_area_v2 *area, GProcContext *ctx, con break; } - inc_progessive_status(info, diff); + gtk_status_stack_update_activity_value(status, id, diff); assert(!is_range_blank_in_mem_area_v2(area, i, diff)); @@ -531,7 +533,8 @@ static void load_data_from_mem_area_v2(mem_area_v2 *area, GProcContext *ctx, con * count = nombre de zones à disposition. * * binary = représentation de binaire chargé. * * ctx = contexte offert en soutien à un désassemblage. * -* info = indications quant à la progression à afficher. * +* status = barre de statut à actualiser. * +* id = identifiant du groupe de progression à l'affichage. * * * * Description : S'assure qu'une aire contient toutes ses instructions. * * * @@ -541,7 +544,7 @@ static void load_data_from_mem_area_v2(mem_area_v2 *area, GProcContext *ctx, con * * ******************************************************************************/ -static void fill_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t count, GProcContext *ctx, status_blob_info *info) +static void fill_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t count, GProcContext *ctx, GtkStatusStack *status, activity_id_t id) { const vmpa2t *addr; /* Début de la zone à traiter */ phys_t len; /* Taille de la zone à remplir */ @@ -559,10 +562,10 @@ static void fill_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t count, advance_vmpa(&start, i); if (area->is_exec && get_virt_addr(&start) % area->packing_size == 0) - load_code_from_mem_area_v2(area, list, count, ctx, &start, info); + load_code_from_mem_area_v2(area, list, count, ctx, &start, status, id); if (is_range_blank_in_mem_area_v2(area, i, 1)) - load_data_from_mem_area_v2(area, ctx, &start, info); + load_data_from_mem_area_v2(area, ctx, &start, status, id); } @@ -1039,7 +1042,8 @@ void insert_extra_symbol_into_mem_areas_v2(mem_area_v2 *areas, size_t count, con * count = nombre de zones à disposition. * * binary = représentation de binaire chargé. * * ctx = contexte offert en soutien à un désassemblage. * -* info = indications quant à la progression à afficher. * +* status = barre de statut à actualiser. * +* id = identifiant du groupe de progression à l'affichage. * * * * Description : S'assure que l'ensemble des aires est entièrement décodé. * * * @@ -1049,12 +1053,12 @@ void insert_extra_symbol_into_mem_areas_v2(mem_area_v2 *areas, size_t count, con * * ******************************************************************************/ -void ensure_all_mem_areas_are_filled(mem_area_v2 *list, size_t count, GProcContext *ctx, status_blob_info *info) +void ensure_all_mem_areas_are_filled(mem_area_v2 *list, size_t count, GProcContext *ctx, GtkStatusStack *status, activity_id_t id) { size_t i; /* Boucle de parcours */ for (i = 0; i < count; i++) - fill_mem_area_v2(&list[i], list, count, ctx, info); + fill_mem_area_v2(&list[i], list, count, ctx, status, id); } |