google / smali

Other
201 stars 35 forks source link

Fixing missing reference type handling for rewriting purposes #11

Closed andvgal closed 1 year ago

andvgal commented 1 year ago

During some DEX rewriting using the latest features, exceptions get thrown because of missing handling of some reference types.

Fixed that, and also went through the code to fix all other missing stuff. In some cases, maybe no real opcode would be coded such way that some code path would be triggered, but this way is more safe.

Also, likely fixed a bug of interning METHOD_HANDLE type.

This PR has been made against the original repository, but did not get merged before the fork, but the code has been in production through custom builds for a while.

CLA has been signed.

andvgal commented 1 year ago

@sgjesse @zerny tagging you as you are missing on the watch list apparently.

sgjesse commented 1 year ago

Thank you for the patch. I will take a closer look on Monday.

andvgal commented 1 year ago

Thank you, and I agree about the tests.