apkutils.axml package

Submodules

apkutils.axml.arscparser module

class apkutils.axml.arscparser.ARSCComplex(buff, parent=None)[source]

Bases: object

class apkutils.axml.arscparser.ARSCHeader(buff)[source]

Bases: object

class apkutils.axml.arscparser.ARSCParser(raw_buff)[source]

Bases: object

class ResourceResolver(android_resources, config=None)[source]

Bases: object

put_ate_value(result, ate, config)[source]
put_item_value(result, item, config, complex_)[source]
resolve(res_id)[source]
get_bool_resources(package_name, locale='\x00\x00')[source]
get_color_resources(package_name, locale='\x00\x00')[source]
get_dimen_resources(package_name, locale='\x00\x00')[source]
get_id(package_name, rid, locale='\x00\x00')[source]
get_id_resources(package_name, locale='\x00\x00')[source]
get_integer_resources(package_name, locale='\x00\x00')[source]
get_items(package_name)[source]
get_locales(package_name)[source]
get_packages_names()[source]
get_public_resources(package_name, locale='\x00\x00')[source]
get_res_configs(rid, config=None)[source]
get_res_id_by_key(package_name, resource_type, key)[source]
get_resolved_res_configs(rid, config=None)[source]
get_resolved_strings()[source]
get_resource_bool(ate)[source]
get_resource_color(ate)[source]
get_resource_dimen(ate)[source]
get_resource_id(ate)[source]
get_resource_integer(ate)[source]
get_resource_string(ate)[source]
get_resource_style(ate)[source]
get_string(package_name, name, locale='\x00\x00')[source]
get_string_resources(package_name, locale='\x00\x00')[source]
get_strings_resources()[source]
get_type_configs(package_name, type_name=None)[source]
get_types(package_name, locale)[source]
class apkutils.axml.arscparser.ARSCResStringPoolRef(buff, parent=None)[source]

Bases: object

format_value()[source]
get_data()[source]
get_data_type()[source]
get_data_type_string()[source]
get_data_value()[source]
is_reference()[source]
class apkutils.axml.arscparser.ARSCResTableConfig(buff=None, **kwargs)[source]

Bases: object

classmethod default_config()[source]
get_country()[source]
get_density()[source]
get_language()[source]
class apkutils.axml.arscparser.ARSCResTableEntry(buff, mResId, parent=None)[source]

Bases: object

get_index()[source]
get_key_data()[source]
get_value()[source]
is_complex()[source]
is_public()[source]
class apkutils.axml.arscparser.ARSCResTablePackage(buff)[source]

Bases: object

解析Package Header

get_name()[source]
class apkutils.axml.arscparser.ARSCResType(buff, parent=None)[source]

Bases: object

get_package_name()[source]
get_type()[source]
class apkutils.axml.arscparser.ARSCResTypeSpec(buff, parent=None)[source]

Bases: object

class apkutils.axml.arscparser.PackageContext(current_package, stringpool_main, mTableStrings, mKeyStrings)[source]

Bases: object

get_mResId()[source]
get_package_name()[source]
set_mResId(mResId)[source]
apkutils.axml.arscparser.complexToFloat(xcomplex)[source]
apkutils.axml.arscparser.format_value(_type, _data, lookup_string=<function <lambda>>)[source]
apkutils.axml.arscparser.getPackage(i)[source]

apkutils.axml.axmlparser module

class apkutils.axml.axmlparser.AXML(raw_buff)[source]

Bases: object

complexToFloat(xcomplex)[source]
get_attribute_value(index)[source]
get_buff()[source]
get_content()[source]
get_package(id)[source]
get_prefix(prefix)[source]

处理没有前缀的情况

有一部分异常的节点,需要特殊处理。

get_xml()[source]
get_xml_obj()[source]
parse()[source]
class apkutils.axml.axmlparser.AXMLParser(raw_buff)[source]

Bases: object

do_next()[source]
get_attribute_count()[source]
get_attribute_name(index)[source]
get_attribute_offset(index)[source]
get_attribute_prefix(index)[source]
get_attribute_value(index)[source]
get_attribute_valueType(index)[source]
get_attribute_value_data(index)[source]
get_name()[source]
get_namespace_prefix(pos)[source]
get_namespace_uri(pos)[source]
get_prefix()[source]
get_prefix_by_uri(uri)[source]
get_text()[source]
get_xmlns()[source]
is_valid()[source]
reset()[source]

apkutils.axml.chunk module

class apkutils.axml.chunk.BuffHandle(buff)[source]

Bases: object

end()[source]
get_idx()[source]
read(size)[source]
readNullString(size)[source]
read_at(offset, size)[source]
read_b(size)[source]
set_idx(idx)[source]
size()[source]
class apkutils.axml.chunk.ResourceIDChunk[source]

Bases: object

class apkutils.axml.chunk.SV(size, buff)[source]

Bases: object

get_value()[source]
get_value_buff()[source]
set_value(attr)[source]
class apkutils.axml.chunk.StringPoolChunk(buff)[source]

Bases: object

解析String Pool Chunk

decode16(offset)[source]
decode8(offset)[source]
decodeLength(offset, sizeof_char)[source]
decode_bytes(data, encoding, str_len)[source]
getString(idx)[source]
getStyle(idx)[source]
show(flag=False)[source]
skipNullPadding(buff)[source]

不断地寻找 CHUNK_STRINGPOOL_TYPE,目前暂时没有遇到这种样本。

apkutils.axml.public module

apkutils.axml.types module

Module contents