Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Enumerations | |
enum | { TYPE_STRING_POOL = 0x0001 , TYPE_XML = 0x0003 , TYPE_START_NAMESPACE = 0x100 , TYPE_END_NAMESPACE = 0x101 , TYPE_START_ELEMENT = 0x0102 , TYPE_END_ELEMENT = 0x103 , TYPE_RESOURCE_MAP = 0x180 } |
enum | { RESOURCE_NULL = 0x00 , RESOURCE_REFERENCE = 0x01 , RESOURCE_STRING = 0x03 , RESOURCE_FLOAT = 0x04 , RESOURCE_INT_DEC = 0x10 , RESOURCE_INT_HEX = 0x11 , RESOURCE_BOOL = 0x12 } |
enum | { FLAG_UTF8 = 1 << 8 } |
Functions | |
RZ_PACKED (typedef struct { ut16 type;ut16 header_size;ut32 size;}) | |
RZ_PACKED (typedef struct { ut16 size;ut8 unused;ut8 type;union { ut32 d;float f;} data;}) | |
RZ_PACKED (typedef struct { ut32 line;ut32 comment;ut32 namespace;ut32 name;ut32 flags;ut16 attribute_count;ut16 unused0;ut16 unused1;ut16 unused2;attribute_t attributes[];}) | |
RZ_PACKED (typedef struct { ut32 line;ut32 comment;ut32 prefix;ut32 uri;}) | |
static char * | resource_value (string_pool_t *pool, const ut8 *data, ut64 data_size, resource_value_t *value) |
static bool | dump_element (RzStrBuf *sb, string_pool_t *pool, namespace_t *namespace, const ut8 *data, ut64 data_size, start_element_t *element, const ut32 *resource_map, ut32 resource_map_length, st32 *depth, bool start) |
RZ_API RZ_OWN char * | rz_axml_decode (RZ_NONNULL const ut8 *data, const ut64 data_size) |
Decode a buffer with Android XML to regular XML string representation. More... | |
Variables | |
string_pool_t | |
attribute_t | |
end_element_t | |
anonymous enum |
anonymous enum |
anonymous enum |
|
static |
Definition at line 221 of file axml.c.
References a, ANDROID_ATTRIBUTE_NAMES, ANDROID_ATTRIBUTE_NAMES_SIZE, attribute_t, count, free(), i, key, NULL, resource_value(), rz_read_le16(), rz_read_le32(), rz_strbuf_appendf(), sb, start, and value.
Referenced by rz_axml_decode().
|
static |
Definition at line 197 of file axml.c.
References NULL, RESOURCE_BOOL, RESOURCE_FLOAT, RESOURCE_INT_DEC, RESOURCE_INT_HEX, RESOURCE_NULL, RESOURCE_REFERENCE, RESOURCE_STRING, RZ_LOG_WARN, rz_read_le32(), rz_str_new(), rz_str_newf(), and value.
Referenced by dump_element().
Decode a buffer with Android XML to regular XML string representation.
data | Buffer containing the AXML data |
data_size | Size of the buffer data |
Definition at line 303 of file axml.c.
References dump_element(), test_evm::end, end_element_t, error(), free(), header, malloc(), NULL, rz_buf_fread_at(), rz_buf_free(), rz_buf_new_with_pointers(), rz_buf_read_at(), RZ_LOG_ERROR, RZ_LOG_WARN, rz_return_val_if_fail, rz_strbuf_drain(), rz_strbuf_free(), rz_strbuf_new(), sb, st32, strdup(), string_pool_t, type, TYPE_END_ELEMENT, TYPE_END_NAMESPACE, TYPE_RESOURCE_MAP, TYPE_START_ELEMENT, TYPE_START_NAMESPACE, TYPE_STRING_POOL, TYPE_XML, and ut64().
Referenced by cmd_print_fromage().
Definition at line 35 of file axml.c.
References type.
RZ_PACKED | ( | typedef struct { ut32 line;ut32 comment;ut32 namespace;ut32 name;ut32 flags;ut16 attribute_count;ut16 unused0;ut16 unused1;ut16 unused2;attribute_t attributes[];} | ) |
Definition at line 100 of file axml.c.
References setup::line, and prefix.
attribute_t |
Definition at line 74 of file axml.c.
Referenced by dump_element(), and RZ_PACKED().
end_element_t |
Definition at line 98 of file axml.c.
Referenced by rz_axml_decode().
string_pool_t |
Definition at line 53 of file axml.c.
Referenced by rz_axml_decode().