Closed wzj1695224 closed 3 years ago
After some investigation, it appears the problem is that recent framework changes moved some of the Base64 decoding to object state. I.e. instead of having some static methods, they instantiate a Decoder and that has some instance state which simplify doesn't trust and assumes it's unknown. It's related to this: https://github.com/CalebFenton/simplify/issues/22
Two possible solutions come to mind. First, convert Base64 code to Java, include in Simplify, and emulate instead of virtually execute. This was done in the past and one of the benefits is that the code is hella fast and won't break between frameworks. The second solution is to allow users to trust object instance state, which is almost always going to be a bad idea in general. Could be reasonable by whitelisting certain fields. Explaining wtf is happening in the docs will be harder than writing the code.
https://github.com/CalebFenton/simplify/commit/edc784d7f7fc3380cc37a6313d80147455016260 should fix your issue. Want to try and let me know?
It's working now. Thank you very much.
According to
simplify/ObfuscatedApp/README.md
, it may easily to deobfuscate reflection inobfuscated-app.apk
. But when I tried withI found nothing did in the
Reflection.reflectSecretMethod(...)
Then I tried
still nothing change in
Reflection.reflectSecretMethod(...)
next I did the following
and finally
What''s wrong?😭