diff options
Diffstat (limited to 'plugins/readdex/header.c')
-rw-r--r-- | plugins/readdex/header.c | 70 |
1 files changed, 23 insertions, 47 deletions
diff --git a/plugins/readdex/header.c b/plugins/readdex/header.c index 6ebca3f..61d0c83 100644 --- a/plugins/readdex/header.c +++ b/plugins/readdex/header.c @@ -48,7 +48,6 @@ bool annotate_dex_header(GDexFormat *format) GBinContent *content; /* Contenu binaire à lire */ SourceEndian endian; /* Boutisme utilisé */ vmpa2t pos; /* Tête de lecture des symboles*/ - vmpa2t start; /* Localisation des symboles */ GArchInstruction *instr; /* Instruction décodée */ GArchOperand *operand; /* Opérande à venir modifier */ GDbComment *comment; /* Définition de commentaire */ @@ -63,7 +62,6 @@ bool annotate_dex_header(GDexFormat *format) /* magic */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_8_BITS, DEX_FILE_MAGIC_LEN, &pos, endian); g_raw_instruction_mark_as_string(G_RAW_INSTRUCTION(instr), true); @@ -80,208 +78,186 @@ bool annotate_dex_header(GDexFormat *format) SET_IMM_DISPLAY(instr, operand, 7, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("DEX magic number")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("DEX magic number")); g_binary_symbol_define_as_block_start(symbol, true); /* checksum */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("adler32 checksum used to detect file corruption")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("adler32 checksum used to detect file corruption")); /* signature */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 5, &pos, endian); g_arch_instruction_set_displayed_max_length(instr, 4); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("SHA-1 signature used to uniquely identify files")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("SHA-1 signature used to uniquely identify files")); /* file_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Size of the entire file in bytes")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Size of the entire file in bytes")); /* header_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Size of the header in bytes")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Size of the header in bytes")); /* endian_tag */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Endianness tag ; 0x12345678 for little-endian")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Endianness tag ; 0x12345678 for little-endian")); /* link_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Size of the link section")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Size of the link section")); /* link_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the link section")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the link section")); /* map_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the map item")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the map item")); /* string_ids_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of strings in the string identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of strings in the string identifiers list")); /* string_ids_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the string identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the string identifiers list")); /* type_ids_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of elements in the type identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of elements in the type identifiers list")); /* type_ids_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the type identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the type identifiers list")); /* proto_ids_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of elements in the prototype identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of elements in the prototype identifiers list")); /* proto_ids_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the prototype identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the prototype identifiers list")); /* field_ids_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of elements in the field identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of elements in the field identifiers list")); /* field_ids_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the field identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the field identifiers list")); /* method_ids_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of elements in the method identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of elements in the method identifiers list")); /* method_ids_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the method identifiers list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the method identifiers list")); /* class_defs_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Count of elements in the class definitions list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Count of elements in the class definitions list")); /* class_defs_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the class definitions list")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the class definitions list")); /* data_size */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_DEC); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Size of data section in bytes")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Size of data section in bytes")); /* data_off */ - copy_vmpa(&start, &pos); instr = g_raw_instruction_new_array(content, MDS_32_BITS, 1, &pos, endian); SET_IMM_DISPLAY(instr, operand, 0, IOD_HEX); - ADD_RAW_AS_SYM(format, symbol, &start, instr, comment, _("Offset to the start of the data section")); + ADD_RAW_AS_SYM(format, symbol, instr, comment, _("Offset to the start of the data section")); g_object_unref(G_OBJECT(content)); |