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: