summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/instruction.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-07-23 19:07:29 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-07-23 19:07:29 (GMT)
commit8b35a66464636d0c46237af7490a6ca6866ecc4d (patch)
tree92199b36e3af00eb4c175a80c20b9b14511a6a45 /src/arch/dalvik/instruction.c
parent8b2189a819c7a761cfdb97d9e3382ea963f225fb (diff)
Improved decompilation of Dalvik bytecode.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@252 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/dalvik/instruction.c')
-rw-r--r--src/arch/dalvik/instruction.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/arch/dalvik/instruction.c b/src/arch/dalvik/instruction.c
index b593d51..7949225 100644
--- a/src/arch/dalvik/instruction.c
+++ b/src/arch/dalvik/instruction.c
@@ -2,7 +2,7 @@
/* OpenIDA - Outil d'analyse de fichiers binaires
* instruction.c - gestion des instructions de la VM Dalvik
*
- * Copyright (C) 2010-2011 Cyrille Bagard
+ * Copyright (C) 2010-2012 Cyrille Bagard
*
* This file is part of OpenIDA.
*
@@ -55,7 +55,7 @@ typedef struct _dalvik_instruction
static dalvik_instruction _instructions[DOP_COUNT] = {
- [DOP_NOP] = { 0x00, "nop" },
+ [DOP_NOP] = { 0x00, "nop", NULL },
[DOP_MOVE] = { 0x01, "move" },
[DOP_MOVE_FROM_16] = { 0x02, "move/from16" },
@@ -63,12 +63,12 @@ static dalvik_instruction _instructions[DOP_COUNT] = {
[DOP_MOVE_WIDE_FROM_16] = { 0x05, "move-wide/from16" },
- [DOP_MOVE_OBJECT] = { 0x07, "move-object" },
+ [DOP_MOVE_OBJECT] = { 0x07, "move-object", dalvik_decomp_instr_move_object },
[DOP_MOVE_OBJECT_FROM_16] = { 0x08, "move-object/from16" },
- [DOP_MOVE_RESULT] = { 0x0a, "move-result" },
- [DOP_MOVE_RESULT_WIDE] = { 0x0b, "move-result-wide" },
- [DOP_MOVE_RESULT_OBJECT] = { 0x0c, "move-result-object" },
+ [DOP_MOVE_RESULT] = { 0x0a, "move-result", dalvik_decomp_instr_move_result },
+ [DOP_MOVE_RESULT_WIDE] = { 0x0b, "move-result-wide", dalvik_decomp_instr_move_result },
+ [DOP_MOVE_RESULT_OBJECT] = { 0x0c, "move-result-object", dalvik_decomp_instr_move_result },
[DOP_MOVE_EXCEPTION] = { 0x0d, "move-exception" },
[DOP_RETURN_VOID] = { 0x0e, "return-void", dalvik_decomp_instr_return_void },
[DOP_RETURN] = { 0x0f, "return", dalvik_decomp_instr_return },
@@ -82,7 +82,7 @@ static dalvik_instruction _instructions[DOP_COUNT] = {
[DOP_CONST_WIDE_32] = { 0x17, "const-wide/32" },
[DOP_CONST_WIDE] = { 0x18, "const-wide" },
[DOP_CONST_WIDE_HIGH16] = { 0x19, "const-wide/high16" },
- [DOP_CONST_STRING] = { 0x1a, "const-string" },
+ [DOP_CONST_STRING] = { 0x1a, "const-string", dalvik_decomp_instr_const_str },
[DOP_CONST_STRING_JUMBO] = { 0x1b, "const-string/jumbo" },
[DOP_CONST_CLASS] = { 0x1c, "const-class" },
@@ -90,7 +90,7 @@ static dalvik_instruction _instructions[DOP_COUNT] = {
[DOP_ARRAY_LENGTH] = { 0x21, "array-length", dalvik_decomp_instr_array_length },
- [DOP_NEW_INSTANCE] = { 0x22, "new-instance" },
+ [DOP_NEW_INSTANCE] = { 0x22, "new-instance", dalvik_decomp_instr_new_instance },
[DOP_NEW_ARRAY] = { 0x23, "new-array" },
@@ -135,14 +135,14 @@ static dalvik_instruction _instructions[DOP_COUNT] = {
[DOP_APUT_BYTE] = { 0x4f, "aput-byte", dalvik_decomp_instr_aput },
[DOP_APUT_CHAR] = { 0x50, "aput-char" },
[DOP_APUT_SHORT] = { 0x51, "aput-short" },
- [DOP_IGET] = { 0x52, "iget" },
+ [DOP_IGET] = { 0x52, "iget", dalvik_decomp_instr_iget },
[DOP_IGET_WIDE] = { 0x53, "iget-wide" },
[DOP_IGET_OBJECT] = { 0x54, "iget-object" },
[DOP_IGET_BOOLEAN] = { 0x55, "iget-boolean" },
[DOP_IGET_BYTE] = { 0x56, "iget-byte" },
[DOP_IGET_CHAR] = { 0x57, "iget-char" },
[DOP_IGET_SHORT] = { 0x58, "iget-short" },
- [DOP_IPUT] = { 0x59, "iput" },
+ [DOP_IPUT] = { 0x59, "iput", dalvik_decomp_instr_iput },
[DOP_IPUT_WIDE] = { 0x5a, "iput-wide" },
[DOP_IPUT_OBJECT] = { 0x5b, "iput-object" },
[DOP_IPUT_BOOLEAN] = { 0x5c, "iput-boolean" },
@@ -165,7 +165,7 @@ static dalvik_instruction _instructions[DOP_COUNT] = {
[DOP_SPUT_SHORT] = { 0x6d, "sput-short" },
[DOP_INVOKE_VIRTUAL] = { 0x6e, "invoke-virtual", dalvik_decomp_instr_invoke_virtual },
[DOP_INVOKE_SUPER] = { 0x6f, "invoke-static" },
- [DOP_INVOKE_DIRECT] = { 0x70, "invoke-direct" },
+ [DOP_INVOKE_DIRECT] = { 0x70, "invoke-direct", dalvik_decomp_instr_invoke_direct },
[DOP_INVOKE_STATIC] = { 0x71, "invoke-static" },
[DOP_INVOKE_INTERFACE] = { 0x72, "invoke-interface" },