Apktool/brut.apktool
Connor Tumbleson 79cfdd179c
Correct Attribute Resolution (#3123)
* refactor: rename package_ to pkgId

* refactor: ResAttrDecoder takes ResTable

* fix: fallback on attr decoding to proper prefix

* fix: reverse order of processing to trust string pool 2nd

Android prefers the resource map value over what the String block has.
This can be seen quite often in obfuscated apps where values such as:
 <item android:state_enabled="true" app:state_collapsed="false" app:state_collapsible="true">
Are improperly decoded when trusting the String block.
Leveraging the resource map allows us to get the proper value.
 <item android:state_enabled="true" app:d2="false" app:d3="true">

* refactor: set default value if no string/res value
2023-07-04 12:06:53 -04:00
..
apktool-cli Extract into ApkInvoker and split into data classes. (#3124) 2023-07-03 18:38:52 -04:00
apktool-lib Correct Attribute Resolution (#3123) 2023-07-04 12:06:53 -04:00