Package jadx.api.security.impl
Class JadxSecurity
java.lang.Object
jadx.api.security.impl.JadxSecurity
- All Implemented Interfaces:
IJadxSecurity,IJadxZipSecurity
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Set<JadxSecurityFlag> private static final org.slf4j.Loggerprivate static final Patternprivate final IJadxZipSecurity -
Constructor Summary
ConstructorsConstructorDescriptionJadxSecurity(Set<JadxSecurityFlag> flags) JadxSecurity(Set<JadxSecurityFlag> flags, IJadxZipSecurity zipSecurity) -
Method Summary
Modifier and TypeMethodDescriptionintMax entries count expected in a zip file, fail zip open if the limit exceeds.booleanisInSubDirectory(File baseDir, File file) Check if a file will be inside baseDir after a system resolves its pathbooleanisValidEntry(IZipEntry entry) Check if zip entry is valid and safe to processbooleanisValidEntryName(String entryName) Check if the zip entry name is valid.parseXml(InputStream in) XML document parserprivate StringsanitizeGradle(String str) sanitizeString(String str, SanitizeType type) Sanitize/escape string to make it safe for use in place described by SanitizeTypebooleanUse limited InputStream for entry uncompressed dataverifyAppPackage(String appPackage) Check if application package is safe
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
flags
-
zipSecurity
-
SANITIZE_GRADLE_PATTERN
-
-
Constructor Details
-
JadxSecurity
-
JadxSecurity
-
-
Method Details
-
isValidEntry
Description copied from interface:IJadxZipSecurityCheck if zip entry is valid and safe to process- Specified by:
isValidEntryin interfaceIJadxZipSecurity
-
isValidEntryName
Description copied from interface:IJadxZipSecurityCheck if the zip entry name is valid. This check should be part ofIJadxZipSecurity.isValidEntry(IZipEntry)method.- Specified by:
isValidEntryNamein interfaceIJadxZipSecurity
-
isInSubDirectory
Description copied from interface:IJadxZipSecurityCheck if a file will be inside baseDir after a system resolves its path- Specified by:
isInSubDirectoryin interfaceIJadxZipSecurity
-
useLimitedDataStream
public boolean useLimitedDataStream()Description copied from interface:IJadxZipSecurityUse limited InputStream for entry uncompressed data- Specified by:
useLimitedDataStreamin interfaceIJadxZipSecurity
-
getMaxEntriesCount
public int getMaxEntriesCount()Description copied from interface:IJadxZipSecurityMax entries count expected in a zip file, fail zip open if the limit exceeds. Return -1 to disable entries count check.- Specified by:
getMaxEntriesCountin interfaceIJadxZipSecurity
-
verifyAppPackage
Description copied from interface:IJadxSecurityCheck if application package is safe- Specified by:
verifyAppPackagein interfaceIJadxSecurity- Returns:
- normalized/sanitized string or same string if safe
-
sanitizeString
Description copied from interface:IJadxSecuritySanitize/escape string to make it safe for use in place described by SanitizeType- Specified by:
sanitizeStringin interfaceIJadxSecurity
-
sanitizeGradle
-
parseXml
Description copied from interface:IJadxSecurityXML document parser- Specified by:
parseXmlin interfaceIJadxSecurity
-