Mini-VMP für Android: Bytecode-Interpreter auf ARM64 selbst bauen

Ein technisches Projekt zeigt, wie sich ausgewählte ARM64-Codeabschnitte in eigene Bytecode-Befehle umwandeln und per Interpreter ausführen lassen. Der Ansatz vermittelt ein praktisches Verständnis für virtualisierte Codeausführung in nativen Android-Bibliotheken.

Mini-VMP für Android: Bytecode-Interpreter auf ARM64 selbst bauen

Das Wichtigste

  • Ein einfacher Mini-VMP kann kritische Funktionen in eine Anwendungseigene Befehlsstruktur überführen und über einen eingebetteten Interpreter ausführen.
  • Der Entwurf trennt Operationscode, Zielposition sowie beide Operandenpositionen und unterstützt dadurch mehrere Rechenarten mit derselben Ausführungslogik.
  • Ein virtueller Programmzeiger verwaltet aufeinanderfolgende Befehle, während zusätzliche Befehle wie das Laden von Konstanten den Datenfluss erweitern.

Einordnung

Der vorgestellte Demonstrator richtet sich an das Verständnis von Codevirtualisierung und Reverse-Engineering-Schutz in Android-Anwendungen. Er verwendet feste Bytecode-Längen und einfache Registerdarstellung, um den Ablauf nachvollziehbar zu halten, und ist ausdrücklich als kleine Lernversion angelegt.

Artikel teilen: