summaryrefslogtreecommitdiff
path: root/src/format/dex/method.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-07-29 21:41:52 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-07-29 21:41:52 (GMT)
commit8e1f2335773a9025cd46d45a33261725707af3ba (patch)
tree6001a1095985514bbde3c8ec49b4dd5d32182fc8 /src/format/dex/method.h
parent8b35a66464636d0c46237af7490a6ca6866ecc4d (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.h19
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 *);