Package jadx.core.xmlgen
Class BinaryXMLParser
java.lang.Object
jadx.core.xmlgen.ParserConstants
jadx.core.xmlgen.CommonBinaryParser
jadx.core.xmlgen.BinaryXMLParser
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate final booleanprivate Stringprivate booleanprivate booleanprivate booleanprivate static final org.slf4j.Loggerprivate final ManifestAttributesprivate intprivate @org.jetbrains.annotations.Nullable int[]private final RootNodeprivate BinaryXMLStringsprivate ValuesParserprivate ICodeWriterFields inherited from class jadx.core.xmlgen.CommonBinaryParser
isFields inherited from class jadx.core.xmlgen.ParserConstants
ANDROID_NS_URL, ANDROID_NS_VALUE, ATTR_FEW, ATTR_L10N, ATTR_L10N_NOT_REQUIRED, ATTR_L10N_SUGGESTED, ATTR_MANY, ATTR_MAX, ATTR_MIN, ATTR_ONE, ATTR_OTHER, ATTR_TWO, ATTR_TYPE, ATTR_TYPE_ANY, ATTR_TYPE_BOOLEAN, ATTR_TYPE_COLOR, ATTR_TYPE_DIMENSION, ATTR_TYPE_ENUM, ATTR_TYPE_FLAGS, ATTR_TYPE_FLOAT, ATTR_TYPE_FRACTION, ATTR_TYPE_INTEGER, ATTR_TYPE_REFERENCE, ATTR_TYPE_STRING, ATTR_ZERO, COMPLEX_MANTISSA_MASK, COMPLEX_MANTISSA_SHIFT, COMPLEX_RADIX_0P23, COMPLEX_RADIX_16P7, COMPLEX_RADIX_23P0, COMPLEX_RADIX_8P15, COMPLEX_RADIX_MASK, COMPLEX_RADIX_SHIFT, COMPLEX_UNIT_DIP, COMPLEX_UNIT_FRACTION, COMPLEX_UNIT_FRACTION_PARENT, COMPLEX_UNIT_IN, COMPLEX_UNIT_MASK, COMPLEX_UNIT_MM, COMPLEX_UNIT_PT, COMPLEX_UNIT_PX, COMPLEX_UNIT_SHIFT, COMPLEX_UNIT_SP, FLAG_COMPACT, FLAG_COMPLEX, FLAG_OFFSET16, FLAG_PUBLIC, FLAG_SPARSE, FLAG_WEAK, MANTISSA_MULT, NO_ENTRY, PLURALS_MAP, RADIX_MULTS, RES_NULL_TYPE, RES_STRING_POOL_TYPE, RES_TABLE_PACKAGE_TYPE, RES_TABLE_TYPE, RES_TABLE_TYPE_LIBRARY, RES_TABLE_TYPE_OVERLAY, RES_TABLE_TYPE_OVERLAY_POLICY, RES_TABLE_TYPE_SPEC_TYPE, RES_TABLE_TYPE_STAGED_ALIAS, RES_TABLE_TYPE_TYPE, RES_XML_CDATA_TYPE, RES_XML_END_ELEMENT_TYPE, RES_XML_END_NAMESPACE_TYPE, RES_XML_FIRST_CHUNK_TYPE, RES_XML_LAST_CHUNK_TYPE, RES_XML_RESOURCE_MAP_TYPE, RES_XML_START_ELEMENT_TYPE, RES_XML_START_NAMESPACE_TYPE, RES_XML_TYPE, SORTED_FLAG, TYPE_ATTRIBUTE, TYPE_DIMENSION, TYPE_DYNAMIC_ATTRIBUTE, TYPE_DYNAMIC_REFERENCE, TYPE_FIRST_COLOR_INT, TYPE_FIRST_INT, TYPE_FLOAT, TYPE_FRACTION, TYPE_INT_BOOLEAN, TYPE_INT_COLOR_ARGB4, TYPE_INT_COLOR_ARGB8, TYPE_INT_COLOR_RGB4, TYPE_INT_COLOR_RGB8, TYPE_INT_DEC, TYPE_INT_HEX, TYPE_LAST_COLOR_INT, TYPE_LAST_INT, TYPE_NULL, TYPE_REFERENCE, TYPE_STRING, UTF8_FLAG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidattachClassNode(ICodeWriter writer, String attrFullName, String clsName) (package private) voiddecode()private voiddecodeAttribute(int attributeNS, int attrValDataType, int attrValData, String attrFullName) private StringdeobfClassName(String className) private StringgenerateNameForNS(String attrUrl, boolean newLine) private static Stringprivate StringgetAttributeName(int id) private StringgetAttributeNS(int attributeNS, boolean newLine) private StringgetString(int strId) private StringgetValidTagAttributeName(String originalName) private booleanprivate booleanisDeobfCandidateAttr(String attrFullName) private voidmemorizePackageName(String attrFullName, String attrValue) parse(InputStream inputStream) private voidparseAttribute(int i, boolean newLine, Set<String> attrCache, int attributeSize) private voidprivate voidprivate voidprivate voidprivate voidprivate voidMethods inherited from class jadx.core.xmlgen.CommonBinaryParser
die, parseStringPool, parseStringPoolNoSize, parseStringPoolNoTypeMethods inherited from class jadx.core.xmlgen.ParserConstants
isResInternalId
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
rootNode
-
manifestAttributes
-
attrNewLine
private final boolean attrNewLine -
resNames
-
nsMap
-
nsMapGenerated
-
definedNamespaces
-
tagAttrDeobfNames
-
writer
-
strings
-
currentTag
-
firstElement
private boolean firstElement -
valuesParser
-
isLastEnd
private boolean isLastEnd -
isOneLine
private boolean isOneLine -
namespaceDepth
private int namespaceDepth -
resourceIds
@Nullable private @org.jetbrains.annotations.Nullable int[] resourceIds -
appPackageName
-
classNameCache
-
-
Constructor Details
-
BinaryXMLParser
-
-
Method Details
-
parse
- Throws:
IOException
-
isBinaryXml
- Throws:
IOException
-
decode
- Throws:
IOException
-
parseResourceMap
- Throws:
IOException
-
parseNameSpace
- Throws:
IOException
-
parseNameSpaceEnd
- Throws:
IOException
-
parseCData
- Throws:
IOException
-
parseElement
- Throws:
IOException
-
parseAttribute
private void parseAttribute(int i, boolean newLine, Set<String> attrCache, int attributeSize) throws IOException - Throws:
IOException
-
getAttributeNS
-
generateNameForNS
-
getAttributeName
-
getString
-
decodeAttribute
private void decodeAttribute(int attributeNS, int attrValDataType, int attrValData, String attrFullName) -
parseElementEnd
- Throws:
IOException
-
getValidTagAttributeName
-
generateTagAttrName
-
attachClassNode
-
deobfClassName
-
isDeobfCandidateAttr
-
memorizePackageName
-