diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2020-01-30 23:23:16 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2020-01-30 23:23:16 (GMT) |
commit | 62f178cc3dcc889d56ba6d94f6fc8bba7b503c1a (patch) | |
tree | 9d0a95ea433a42351ae7aa783356aa2e30a39f34 /plugins/dalvik | |
parent | c1ca03be00a4e975f89d30edfb72b57fb5612282 (diff) |
Compressed some architecture instruction properties.
Diffstat (limited to 'plugins/dalvik')
-rw-r--r-- | plugins/dalvik/pseudo/fill.c | 2 | ||||
-rw-r--r-- | plugins/dalvik/pseudo/switch.c | 7 | ||||
-rw-r--r-- | plugins/dalvik/v35/instruction.c | 8 |
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); |