diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-08-09 18:12:27 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-08-09 18:12:27 (GMT) |
commit | 5cd25c4adfe0426520a51a76de3f77c77cfa4b8e (patch) | |
tree | 396514971fb78e81b7bb55c9cd3331d87b45ca9a /src/analysis/delayed.c | |
parent | d02deb2425d6559c357bdd00e1c0fb05f35d5fc9 (diff) |
Reorganized the way formats are handled (Java and PE got disabled, Dwarf is empty).
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@105 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/delayed.c')
-rw-r--r-- | src/analysis/delayed.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/analysis/delayed.c b/src/analysis/delayed.c index 1906713..6ec03e8 100644 --- a/src/analysis/delayed.c +++ b/src/analysis/delayed.c @@ -30,6 +30,7 @@ #include "line_code.h" #include "line_comment.h" #include "../common/dllist.h" +#include "../format/format.h" #include "../gtkext/gtkextstatusbar.h" #include "../gtkext/iodamarshal.h" @@ -49,7 +50,7 @@ typedef struct _disassembly_task DL_LIST_ITEM(link); /* Lien vers les maillons */ - bin_part **parts; /* Parties binaires à traiter */ + GBinPart **parts; /* Parties binaires à traiter */ size_t count; /* Nombre de ces parties */ } disassembly_task; @@ -60,7 +61,7 @@ typedef struct _disassembly_task /* Crée un tâche de désassemblage différé. */ -static disassembly_task *create_disassembly_task(GOpenidaBinary *, bin_part **, size_t); +static disassembly_task *create_disassembly_task(GOpenidaBinary *, GBinPart **, size_t); /* Efface une tâche de désassemblage de la mémoire. */ static void delete_disassembly_task(disassembly_task *); @@ -142,7 +143,7 @@ static vmpa_t find_best_ending_address_for_routine(GRenderingLine *, size_t, con * * ******************************************************************************/ -static disassembly_task *create_disassembly_task(GOpenidaBinary *owner, bin_part **parts, size_t count) +static disassembly_task *create_disassembly_task(GOpenidaBinary *owner, GBinPart **parts, size_t count) { disassembly_task *result; /* Tâche à retourner */ @@ -321,7 +322,7 @@ static void *process_disassemblies(GDelayedManager *manager) g_mutex_unlock(manager->disass_mutex); - routines = get_all_exe_routines(g_openida_binary_get_format(task->owner), &routines_count); + routines = g_binary_format_get_routines(G_BIN_FORMAT(g_openida_binary_get_format(task->owner)), &routines_count); qsort(routines, routines_count, sizeof(GBinRoutine *), g_binary_routine_rcompare); /* Première étape */ @@ -412,7 +413,7 @@ static GRenderingLine *disassemble_binary_parts(disassembly_task *task, GBinRout for (i = 0; i < task->count; i++) { - get_bin_part_values(task->parts[i], NULL, &len, NULL); + g_binary_part_get_values(task->parts[i], NULL, &len, NULL); sum += len; } @@ -420,7 +421,7 @@ static GRenderingLine *disassemble_binary_parts(disassembly_task *task, GBinRout for (i = 0; i < task->count; i++) { - get_bin_part_values(task->parts[i], &pos, &len, &base); + g_binary_part_get_values(task->parts[i], &pos, &len, &base); /* Décodage des instructions */ @@ -715,7 +716,7 @@ static vmpa_t find_best_ending_address_for_routine(GRenderingLine *line, size_t * * ******************************************************************************/ -void g_delayed_manager_schedule_disassembly(GDelayedManager *manager, GOpenidaBinary *binary, bin_part **parts, size_t count) +void g_delayed_manager_schedule_disassembly(GDelayedManager *manager, GOpenidaBinary *binary, GBinPart **parts, size_t count) { disassembly_task *task; /* Nouveau désassemblage */ |