diff options
Diffstat (limited to 'src/arch/dalvik')
-rw-r--r-- | src/arch/dalvik/instruction.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/arch/dalvik/instruction.c b/src/arch/dalvik/instruction.c index 4c1dee0..e4e2ba2 100644 --- a/src/arch/dalvik/instruction.c +++ b/src/arch/dalvik/instruction.c @@ -336,9 +336,6 @@ static dalvik_instruction _instructions[DOP_COUNT] = { /* Reconstruit le cache complet d'une désignation d'instruction. */ static void dalvik_build_instruction_keyword(const GDalvikInstruction *, AsmSyntax); -/* Informe sur une éventuelle référence à une autre instruction. */ -static InstructionLinkType dalvik_get_instruction_link(const GDalvikInstruction *, vmpa_t *); - /* Indique si l'instruction correspond à un retour de fonction. */ static bool dalvik_instruction_is_return(const GDalvikInstruction *); @@ -401,7 +398,6 @@ static void g_dalvik_instruction_init(GDalvikInstruction *instr) parent = G_ARCH_INSTRUCTION(instr); parent->get_rw_regs = (get_instruction_rw_regs_fc)g_dalvik_instruction_get_rw_registers; - parent->get_link = (get_instruction_link_fc)dalvik_get_instruction_link; //parent->is_return = (is_instruction_return_fc)dalvik_instruction_is_return; parent->decomp = (decomp_instr_fc)dalvik_instruction_decompile; @@ -592,80 +588,6 @@ static void dalvik_build_instruction_keyword(const GDalvikInstruction *instr, As /****************************************************************************** * * * Paramètres : instr = instruction à consulter. * -* addr = eventuelle adresse associée à faire connaître. [OUT] * -* * -* Description : Informe sur une éventuelle référence à une autre instruction.* -* * -* Retour : Type de lien trouvé ou ILT_NONE si aucun. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static InstructionLinkType dalvik_get_instruction_link(const GDalvikInstruction *instr, vmpa_t *addr) -{ - InstructionLinkType result; /* Type de lien à retourner */ - GArchOperand *operand; /* Opérande à manipuler */ - const GImmOperand *imm; /* Valeur immédiate */ - - switch (instr->type) - { - case DOP_GOTO: - case DOP_GOTO_16: - case DOP_GOTO_32: - - operand = g_arch_instruction_get_operand(G_ARCH_INSTRUCTION(instr), 0); - imm = g_dalvik_target_operand_get_value(G_DALVIK_TARGET_OPERAND(operand)); - - if (g_imm_operand_to_vmpa_t(imm, addr)) result = ILT_JUMP; - else result = ILT_NONE; - - break; - - case DOP_IF_EQ: - case DOP_IF_NE: - case DOP_IF_LT: - case DOP_IF_GE: - case DOP_IF_GT: - case DOP_IF_LE: - - operand = g_arch_instruction_get_operand(G_ARCH_INSTRUCTION(instr), 2); - imm = g_dalvik_target_operand_get_value(G_DALVIK_TARGET_OPERAND(operand)); - - if (g_imm_operand_to_vmpa_t(imm, addr)) result = ILT_JUMP_IF_TRUE; - else result = ILT_NONE; - - break; - - case DOP_IF_EQZ: - case DOP_IF_NEZ: - case DOP_IF_LTZ: - case DOP_IF_GEZ: - case DOP_IF_GTZ: - case DOP_IF_LEZ: - - operand = g_arch_instruction_get_operand(G_ARCH_INSTRUCTION(instr), 1); - imm = g_dalvik_target_operand_get_value(G_DALVIK_TARGET_OPERAND(operand)); - - if (g_imm_operand_to_vmpa_t(imm, addr)) result = ILT_JUMP_IF_TRUE; - else result = ILT_NONE; - - break; - - default: - result = ILT_NONE; - break; - - } - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : instr = instruction à consulter. * * * * Description : Indique si l'instruction correspond à un retour de fonction. * * * |