Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARSC/AXML Parser Rework #3131

Merged
merged 14 commits into from
Jul 12, 2023
Merged

ARSC/AXML Parser Rework #3131

merged 14 commits into from
Jul 12, 2023

Conversation

iBotPeaches
Copy link
Owner

@iBotPeaches iBotPeaches commented Jul 10, 2023

  • Remove assumptions of order of RES, XML and TYPE chunks
  • Rework StringBlock to not be responsible for header reading
  • Ensure unification between ARSCDecoder and AXMLResourceParser
  • Support NULL chunks
  • Add handling for common protection techniques that re-order/re-size elements

This is a major (10yr overdue) refactoring of the core processing of AXML/ARSC in Apktool. This removes the logic that required chunks to be in a specific order as well as revamps chunk loading to handle unknown data reading to survive common obfuscation techniques.

We may have regressed some things, but I'd rather get this merged with the cleaner and more understood codebase and iterate on discovered regressions.

@iBotPeaches iBotPeaches marked this pull request as ready for review July 12, 2023 02:20
@iBotPeaches iBotPeaches changed the title Major: ARSC Parser Changes ARSC/AXML Parser Rework Jul 12, 2023
@iBotPeaches iBotPeaches merged commit bdbe138 into master Jul 12, 2023
28 checks passed
@iBotPeaches iBotPeaches deleted the arsc-parser-changes branch July 12, 2023 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant