* refactor: rename sanitize function
* fix: expose getDir
* fix: safe handling of untrusted resource names
- fixes: GHSA-2hqv-2xv4-5h5w
* test: sample file for GHSA-2hqv-2xv4-5h5w
* refactor: avoid detection of absolute files for resource check
* chore: enable info mode on gradle
* test: skip test on windows
* chore: debug windows handling
* fix: normalize entry with file separators
* fix: normalize filepath after cleansing
* chore: Android paths are not OS specific
* refactor: use java.nio for path traversal checking
* chore: align path separator on Windows for Zip files
* chore: rework towards basic directory traversal
* chore: remove '--info' on build.yml
* fix: prevent over-reading config flags
* feat: add grammatical inflection
* fix: add natural requirement for U
* fix: UpsideDownCake is now 34
* test: test for grammatical inflection
* fix: add detection for compact resources
* fix: add detection for offset16 table types
* Revert "test: test for grammatical inflection"
This reverts commit fa08cef9fe6d436176f74152d85a652a771971ad.
* refactor: use enum instead of magic numbers
* Revert "Remove Apktool Dummys. (#3258)"
This reverts commit 0e226928ce.
* feat: properly add dummys
* refactor: shorten ResTypeSpec
* style: remove extra space
* refactor: extract FlagItem into own class
* refactor: notate which type is null
* fix: only add dummys if enabled
* feat: skip unknown (if enabled)
* feat: introduce "res-mode"
* feat: expose config on res table
* feat: add method to base attr for res skips
* fix: ensure autobuild doesn't choke
* refactor: remove java17 enhanced switch
* refactor: rename methods
* refactor: cleanup res-mode param
* test: introduction of test/sample apk
* refactor: make ResXmlPatcher public for loading XML
* test: assertions for dummy|leave|retain
* fix: prevent using `@null` as a name
* refactor: shorten long param for 'resm'
* refactor: leave for preserve
* feat: initial migration to kotlin
* feat: initial migration to kotlin
* fix: wire up dependencies
* fix: Deprecated tag for kotlin detection
* refactor: put all modules into sub-projects
* fix: include jar file (android framework)
* fix: add version message/info
* fix: wire up version/gitrev to properties
* fix: wire up proguard on cli
* fix: wire up proguard
* fix: wire up output cleaning command
* fix: drop license header on gradle files
- fully rewritten from scratch by myself
- no longer including license header on build files
* fix: add compile utf8/flags for java8
* refactor: remove unneeded curly braces
* feat: progress towards maven-publish
* build: publish to maven
* docs: update documentation
* refactor: prevent implicit order by removal of afterEvaluate
* build: remove unused license plugin
* fix: add headerSize to stringBlock to detect larger headers
* fix: handle app with style offset, but 0 styles
* refactor: split counting stream into CountingDataInput
* fix: read strings till end of string pool chunk
* fix: support out of bound string reading
* fix: don't read string/style offset out of bounds
* refactor: cleanup comments for string parser
* style: comment on 4 byte alignment
* fix: only warn if utf16 string
* Simple straitforward yaml serialization with minimal needed functionality
* Consolidate ApkInfo tests in the package brut.androlib.apk, unify interface YamlReader and add ApkInfoSerializationTest read -> write -> read test
* remove dependencies from snakeyaml
* remove unused methods
* correct indent test value
* correct style with curly braces
* add test item with hieroglyph
* fix: support skipping unread header sizes of ResChunk
* refactor: note that header skip happens too late on some
* refactor: check for chunk header end at each of each header
* chore: skip reading header on string pools
* fix: move header check prior to reading entries on tables
* fix: prevent over-reading config flags
* fix: properly read localeNumberingSystem
* test: adjust test for bcp47 aapt2 test
* fix: properly add 8 to 'read' on parser
* test: add test for aapt2 bcp47 tag
* test: add additional bcp47 test
* fix: handle numbering system parsing
* fix: add comment about localeNumber usage