diff options
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 *); |