diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-07-23 19:07:29 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-07-23 19:07:29 (GMT) |
commit | 8b35a66464636d0c46237af7490a6ca6866ecc4d (patch) | |
tree | 92199b36e3af00eb4c175a80c20b9b14511a6a45 /src/decomp/context.c | |
parent | 8b2189a819c7a761cfdb97d9e3382ea963f225fb (diff) |
Improved decompilation of Dalvik bytecode.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@252 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/decomp/context.c')
-rw-r--r-- | src/decomp/context.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/decomp/context.c b/src/decomp/context.c index 6440c56..15215eb 100644 --- a/src/decomp/context.c +++ b/src/decomp/context.c @@ -27,6 +27,7 @@ #include <malloc.h> +#include "instruction-int.h" #include "expr/pseudo.h" #include "../arch/operand.h" #include "../glibext/gnhash.h" @@ -40,6 +41,8 @@ struct _GDecContext vmpa_t max; /* Première adresse à écarter */ + GDecInstruction *list; /* Chaîne décompilée */ + GHashTable *machine; /* Correspondance reg./pseudo */ GHashTable *ssa; /* Remplacement des pseudos */ @@ -171,6 +174,46 @@ void g_dec_context_set_max_address(GDecContext *ctx, vmpa_t max) /****************************************************************************** * * +* Paramètres : ctx = instance à consulter. * +* * +* Description : Fournit le premier élément de la liste des instructions. * +* * +* Retour : Première instruction décompilée pour le contexte. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GDecInstruction *g_dec_context_get_decomp_instrs(const GDecContext *ctx) +{ + return ctx->list; + + +} + + +/****************************************************************************** +* * +* Paramètres : ctx = instance à mettre à jour. * +* instr = première instruction décompilée pour le contexte. * +* * +* Description : Met à jour le premier élément de la liste des instructions. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_dec_context_set_decomp_instrs(GDecContext *ctx, GDecInstruction *instr) +{ + ctx->list = instr; + +} + + +/****************************************************************************** +* * * Paramètres : ctx = instance à consulter, voire mettre à jour. * * operand = opérande représentant un registre quelconque. * * * |