-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
How to decode the string length when it is very long? #1587
Comments
Do you have an APK with these large string block entry? I will investigate. |
I'm sorry to have given you so late. |
Apktool seems to be decoding this fine. So unsure what you are asking. If you are asking how it does it.
|
I think
|
Thanks for the detailed explanation. I will take another look. |
Ok!Thanks very much! |
Interesting find. I have tests for this - https://github.com/iBotPeaches/Apktool/blob/master/brut.apktool/apktool-lib/src/test/resources/brut/apktool/testapp/res/values-en/strings.xml But it seems in the case of a 0x8888 character string it fails. This is similar to #1291. I guess the UTF16 decoding is improperly determining the length. Confirmed. |
As we know,we use StringBlock.getUtf8() or StringBlock.getUtf16() to decode the string's length,usually they can work well.
but,when a string is very very long,such as the length is 0x8888,so the first four bytes are [0x88,0x88,0x88,0x88].
How should I decode it's length?
The text was updated successfully, but these errors were encountered: