summaryrefslogtreecommitdiff
path: root/plugins/dalvik
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-01-30 23:23:16 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-01-30 23:23:16 (GMT)
commit62f178cc3dcc889d56ba6d94f6fc8bba7b503c1a (patch)
tree9d0a95ea433a42351ae7aa783356aa2e30a39f34 /plugins/dalvik
parentc1ca03be00a4e975f89d30edfb72b57fb5612282 (diff)
Compressed some architecture instruction properties.
Diffstat (limited to 'plugins/dalvik')
-rw-r--r--plugins/dalvik/pseudo/fill.c2
-rw-r--r--plugins/dalvik/pseudo/switch.c7
-rw-r--r--plugins/dalvik/v35/instruction.c8
3 files changed, 10 insertions, 7 deletions
diff --git a/plugins/dalvik/pseudo/fill.c b/plugins/dalvik/pseudo/fill.c
index 12382f7..cc8a412 100644
--- a/plugins/dalvik/pseudo/fill.c
+++ b/plugins/dalvik/pseudo/fill.c
@@ -183,7 +183,7 @@ GArchInstruction *g_dalvik_fill_instr_new(uint16_t ident, GDalvikContext *ctx, c
result = g_object_new(G_TYPE_DALVIK_FILL_INSTR, NULL);
- G_ARCH_INSTRUCTION(result)->uid = DPO_FILL_ARRAY_DATA;
+ g_arch_instruction_set_unique_id(G_ARCH_INSTRUCTION(result), DPO_FILL_ARRAY_DATA);
if (!g_binary_content_read_u16(content, pos, SRE_LITTLE, &result->item_width))
goto gdfin_bad;
diff --git a/plugins/dalvik/pseudo/switch.c b/plugins/dalvik/pseudo/switch.c
index ea3aa90..f09fe59 100644
--- a/plugins/dalvik/pseudo/switch.c
+++ b/plugins/dalvik/pseudo/switch.c
@@ -193,7 +193,7 @@ GArchInstruction *g_dalvik_switch_instr_new(uint16_t ident, GDalvikContext *ctx,
result = g_object_new(G_TYPE_DALVIK_SWITCH_INSTR, NULL);
- G_ARCH_INSTRUCTION(result)->uid = ident;
+ g_arch_instruction_set_unique_id(G_ARCH_INSTRUCTION(result), ident);
if (!g_binary_content_read_u16(content, pos, SRE_LITTLE, &result->switch_size))
goto gdsin_bad;
@@ -237,6 +237,7 @@ GArchInstruction *g_dalvik_switch_instr_new(uint16_t ident, GDalvikContext *ctx,
static bool g_dalvik_switch_decode_data(GDalvikSwitchInstr *instr, const GBinContent *content, const vmpa2t *pos)
{
vmpa2t iter; /* Position modifiable */
+ itid_t uid; /* Identifiant unique */
int32_t first_key; /* Première clef */
uint16_t i; /* Boucle de parcours */
@@ -245,7 +246,9 @@ static bool g_dalvik_switch_decode_data(GDalvikSwitchInstr *instr, const GBinCon
copy_vmpa(&iter, pos);
- if (G_ARCH_INSTRUCTION(instr)->uid == DPO_PACKED_SWITCH)
+ uid = g_arch_instruction_get_unique_id(G_ARCH_INSTRUCTION(instr));
+
+ if (uid == DPO_PACKED_SWITCH)
{
if (!g_binary_content_read_s32(content, &iter, SRE_LITTLE, &first_key))
goto gdsdd_bad;
diff --git a/plugins/dalvik/v35/instruction.c b/plugins/dalvik/v35/instruction.c
index 28cb0dd..773ec7a 100644
--- a/plugins/dalvik/v35/instruction.c
+++ b/plugins/dalvik/v35/instruction.c
@@ -185,7 +185,7 @@ GArchInstruction *g_dalvik35_instruction_new(itid_t uid)
result = g_object_new(G_TYPE_DALVIK35_INSTRUCTION, NULL);
- G_ARCH_INSTRUCTION(result)->uid = uid;
+ g_arch_instruction_set_unique_id(G_ARCH_INSTRUCTION(result), uid);
return G_ARCH_INSTRUCTION(result);
@@ -232,7 +232,7 @@ static const char *g_dalvik35_instruction_get_keyword(const GDalvik35Instruction
const char *result; /* Désignation à retourner */
itid_t uid; /* Accès simplifié */
- uid = G_ARCH_INSTRUCTION(instr)->uid;
+ uid = g_arch_instruction_get_unique_id(G_ARCH_INSTRUCTION(instr));
assert(uid < DOP35_COUNT);
@@ -272,7 +272,7 @@ static void g_dalvik35_instruction_call_hook(GDalvik35Instruction *instr, InstrP
base = G_ARCH_INSTRUCTION(instr);
- uid = base->uid;
+ uid = g_arch_instruction_get_unique_id(base);
assert(uid < DOP35_COUNT);
@@ -301,7 +301,7 @@ static const char *g_dalvik35_instruction_get_description(const GDalvik35Instruc
const char *result; /* Description à retourner */
itid_t uid; /* Accès simplifié */
- uid = G_ARCH_INSTRUCTION(instr)->uid;
+ uid = g_arch_instruction_get_unique_id(G_ARCH_INSTRUCTION(instr));
assert(uid < DOP35_COUNT);