Es ist 2022 und viele Android geräte unterstützen immer noch nicht invokedynamic instructions oder haben sie unstable implementiert. Ich wette wenn ich mich damit länger beschäftigen würde, würde ich privilege escalation vulns finden.. Alles was mit MethodHandles implementiert ist ist katastrophal.
@RyunoKi Das ist ein opcode in javas maschinensprache, der dann in invoke-custom (android dex bytecode) kompiliert wird. In java wird er benutzt um lamdas zu implementieren, in android werden lambdas meistens so kompilliert, dass keine invoke-customs verwendet werden. Normalerweise haben alle invokeXYZ opcodes fixe referenzen, bei invokedynamic wird sie erst während der laufzeit bestimmt.
@sunlight
Führt bestimmt zu interessantem Verhalten.
Danke für die Erklärung
@RyunoKi Stimmt, ja. Kann man sicher irgendwie exploiten das zeug. Würde ich deaktivieren wenn ich könnte, aber mal schauen wie sich die apps in der zukunft entwickeln und der opcode benutzt wird
@sunlight
Als nicht-Android-Entwickler:
Was sind invoked dynamic instructions?
Wofür werden sie eingesetzt?