Skip to content

3.3.3

Compare
Choose a tag to compare
@reox reox released this 28 Jan 10:02
· 588 commits to master since this release

In order to not break existing tools, some functions were re-added in this patch release.

Note that still some functions are renamed or even removed due to
refactoring and reorganization of the parser.
As the method of resolving namespaces has changed, some methods do
not make any sense. Please check your projects!

Detailed changes between 3.2 and 3.3:

in the module androguard.core.bytecodes.axml:

StringBlock: Made some functions private, as they are not used from
the outside.

Renamed functions:

decode8(offset) --> _decode8(offset)
decode16(offset) --> _decode16(offset)
decode_bytes(data, encoding, str_len) --> _decode_bytes(data, encoding, str_len) (and static)
decodeLength(offset, sizeof_char) --> _decode_length(offset, sizeof_char)

AXMLParser: renamed some functions, also removed many namespace
parsing functions.

Renamed functions:

reset() --> _reset()
doNext() --> _do_next()
getPrefix() --> namespace   but was added again for legacy
getName() --> name          but was added again for legacy
getText() --> text          but was added again for legacy

Removed functions:

getNamespacePrefix(pos)
getNamespaceUri(pos)
getXMLNS()
getNamespaceCount(pos)
getAttributeOffset(index)
getAttributePrefix(index)
getPrefixByUri(uri)

For a reference implementation on using namespaces, please see AXMLPrinter!

AXMLPrinter: changed the parsing behaviour to use lxml.etree directly

Renamed functions:

getAttributeValue(index) --> _get_attribute_value(index)

Removed functions:

getPrefix(prefix)