summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-03-13 14:22:15 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-03-13 14:24:36 (GMT)
commitbde67ccf58fc858d5d0db4929db149ea12f50f96 (patch)
tree665c778e15b65b615410564a3bd7c83f53810b17 /src/arch
parentda22d42c9644de808dfc3484352c444ee4176bee (diff)
Created a readelf-like information provider for Dex files.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/immediate.c40
-rw-r--r--src/arch/immediate.h6
2 files changed, 46 insertions, 0 deletions
diff --git a/src/arch/immediate.c b/src/arch/immediate.c
index 40533ae..2be7879 100644
--- a/src/arch/immediate.c
+++ b/src/arch/immediate.c
@@ -941,6 +941,46 @@ bool g_imm_operand_to_virt_t(const GImmOperand *operand, virt_t *addr)
/******************************************************************************
* *
* Paramètres : operand = opérande à traiter. *
+* val = valeur résultante. [OUT] *
+* *
+* Description : Convertit une valeur immédiate en valeur de type leb128_t. *
+* *
+* Retour : Bilan de l'opération. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void g_imm_operand_as_leb128(const GImmOperand *operand, leb128_t *val)
+{
+ *val = operand->raw;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : operand = opérande à traiter. *
+* val = valeur résultante. [OUT] *
+* *
+* Description : Convertit une valeur immédiate en valeur de type uleb128_t. *
+* *
+* Retour : Bilan de l'opération. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void g_imm_operand_as_uleb128(const GImmOperand *operand, uleb128_t *val)
+{
+ *val = operand->raw;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : operand = opérande à traiter. *
* addr = valeur résultante. [OUT] *
* *
* Description : Convertit une valeur immédiate en adresse de type vmpa_t. *
diff --git a/src/arch/immediate.h b/src/arch/immediate.h
index e6da2f4..acc4ed5 100644
--- a/src/arch/immediate.h
+++ b/src/arch/immediate.h
@@ -125,6 +125,12 @@ bool g_imm_operand_to_phys_t(const GImmOperand *, phys_t *);
/* Convertit une valeur immédiate en adresse de type virt_t. */
bool g_imm_operand_to_virt_t(const GImmOperand *, virt_t *);
+/* Convertit une valeur immédiate en valeur de type leb128_t. */
+void g_imm_operand_as_leb128(const GImmOperand *, leb128_t *);
+
+/* Convertit une valeur immédiate en valeur de type uleb128_t. */
+void g_imm_operand_as_uleb128(const GImmOperand *, uleb128_t *);
+
/* Convertit une valeur immédiate en adresse de type vmpa_t. */
bool g_imm_operand_to_vmpa_t(const GImmOperand *, vmpa_t *) __attribute__ ((deprecated));