diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-07-29 21:41:52 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-07-29 21:41:52 (GMT) |
commit | 8e1f2335773a9025cd46d45a33261725707af3ba (patch) | |
tree | 6001a1095985514bbde3c8ec49b4dd5d32182fc8 /src/format/dex/method.h | |
parent | 8b35a66464636d0c46237af7490a6ca6866ecc4d (diff) |
Updated all decompiled instructions using right pseudo registers.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@253 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format/dex/method.h')
-rw-r--r-- | src/format/dex/method.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/format/dex/method.h b/src/format/dex/method.h index 79dbd7e..c06df73 100644 --- a/src/format/dex/method.h +++ b/src/format/dex/method.h @@ -49,6 +49,19 @@ typedef struct _GDexMethod GDexMethod; typedef struct _GDexMethodClass GDexMethodClass; +/* Détermination des variables */ +typedef enum _DexVariableIndex +{ + /* Indices... */ + + DVI_LOCAL = (1 << 29), + DVI_THIS = (1 << 30), + DVI_ARGUMENT = (1 << 31) + +} DexVariableIndex; + +#define DVI_INDEX(v) (v & ~(7 << 29)) + /* Détermine le type d'une methode issue du code source. */ GType g_dex_method_get_type(void); @@ -62,6 +75,12 @@ GBinRoutine *g_dex_method_get_routine(const GDexMethod *); /* Fournit la zone binaire correspondant à la méthode. */ GBinPart *g_dex_method_as_part(const GDexMethod *); +/* Indique la position de la méthode au sein du binaire. */ +off_t g_dex_method_get_offset(const GDexMethod *); + +/* Fournit des indications sur la nature d'une variable donnée. */ +DexVariableIndex g_dex_method_get_variable(const GDexMethod *, uint32_t); + /* Procède à la décompilation complète d'une routine donnée. */ void g_dex_method_decompile(const GDexMethod *, GLangOutput *, GCodeBuffer *); |