string_ids_off字段:
typedef struct DexStringId {
u4 stringDataOff;
} DexStringId;
type_ids_off字段:
struct DexTypeId {
u4 descriptorIdx; /* index into stringIds list for type descriptor */
};
proto_ids_off字段:
struct DexProtoId{
u4 shortyIdx; /* index into stringIds forshorty descriptor */
u4 returnTypeIdx; /* index into typeIds list for return type */
u4 parametersOff; /* file offset to type_list for parameter types */
};
field_ids_off字段:
struct DexFieldId{
u2 classIdx; /* index into typeIds list for defining class */
u2 typeIdx; /* index into typeIds for field type */
u4 nameIdx; /* index into stringIds for field name */
};
method_ids_off字段:
struct DexMethodId{
u2 classIdx; /* index into typeIds list for defining class */
u2 protoIdx; /* index into protoIds for method prototype */
u4 nameIdx; /* index into stringIds for method name */
};
class_defs_off字段:
struct DexClassDef{
u4 classIdx; /* index into typeIds for this class */
u4 accessFlags;
u4 superclassIdx; /* index into typeIds for superclass */
u4 interfacesOff; /* file offset to DexTypeList */
u4 sourceFileIdx; /* index into stringIds for source file name */
u4 annotationsOff; /* file offset to annotations_directory_item */
u4 classDataOff; /* file offset to class_data_item */
u4 staticValuesOff; /* file offset to DexEncodedArray */
};

本文详细介绍了Dex文件中各个关键字段的结构及其含义,包括string_ids_off、type_ids_off、proto_ids_off、field_ids_off、method_ids_off及class_defs_off等。这些字段对于理解Dalvik虚拟机执行文件的组织方式至关重要。
1528

被折叠的 条评论
为什么被折叠?



