Xposed Framework

Das Xposed Framework ist ein Framework für Android, welches durch verschiedene Module (meist von Drittanbietern) umfassende Veränderungen am System zulässt, ohne die Installation eines CustomROM vorauszusetzten. Für den Nutzer eines Android-Gerätes bietet es ein großes Spektrum an Möglichkeiten, das eigene Gerät weit über die durch Android gesteckten Rahmen hinweg zu verändern und das Verhalten zu beeinflussen. Entwickler bekommen durch das Framework die Offenheit, Apps und Funktionen (inklusive System-Anwendungen) grundlegend zu verändern, ohne diese vorher zu dekompilieren, zu bearbeiten und anschließend wieder zu kompilieren und zu signieren (auch die separate Installation durch den Nutzer entfällt dabei quasi vollständig).[1]

Überischt der installierten und aktivierten Module in der Xposed Framework App.

FunktionsweiseBearbeiten

Das Xposed Framework stellt nur die Grundfläche für Erweiterungen dar und besitzt selbst keinerlei Funktion. Veränderungen werden erst durch die sogenannten Xposed-Module erreicht, die der Nutzer über das offizielle Repository , der Xposed Installer App oder über externe Quellen auf dem Gerät installieren und über die App auch wieder deinstallieren kann.

Die Module definieren dabei die Funktionen einer beliebigen App (einschließlich System-Apps) neu und können dadurch das komplette Verhalten und die Funktionsweise dieser beeinflussen, erweitern oder komplett deaktivieren. Möglich wird dies dadurch, dass das Framework bei der Installation die für das Starten und Ausführen verwendete, ausführbare Datei app_process[2] durch eine eigene, veränderte Version ersetzt und dadurch das Laden von Quellcode von Drittanbietern mit einer App erlaubt. Dieser zusätzliche Programmcode wird dabei mit den gleichen Rechten wie die App ausgeführt und kann dadurch diese beliebig verändern.

Module müssen nach der Installation erst mit dem setzen eines Hakens in Verbindung mit einem Soft-Reboot aktiviert werden um diese nutzen zu können. Bei Fehlern, Abstürzen oder anderen Problemen lassen sich diese durch das abwählen des Haken auch wieder einfach Deaktivieren. Die durch die Module erreichten Modifikationen werden dabei zurück gesetzt.

InstallationBearbeiten

Die Installation erfordert zwingend Root-Zugriff, sowie Schreibrechte auf die /system-Partition und geschieht am einfachsten mit der XposedInstaller App. Diese muss lediglich auf das Gerät übertragen und manuell installiert werden.

Bekannte ModuleBearbeiten

GravityBoxBearbeiten

Eines der beliebtesten Module ist GravityBox[3][4], welches als eigene Version für Android 4.1   "Jelly Bean" Jelly Bean[5], Android 4.4   "KitKat" Kitkat[6] und Android 5.0   "Lollipop" Lollipop[7] verfügbar ist. Dieses Tool bietet umfangreiche Einstellungsmöglichkeiten für das Smartphone wie z.B.

  • Konfiguration der Benachrichtigungszeile (Symbole, Farbe, etc)
  • Konfiguration des Benachrichtungsbereichs
  • Konfiguration des Displays (z.B. Helligkeitssufen)
  • Konfiguration der Tasten
  • uvm.

DisableFlagSecureBearbeiten

Android bietet Entwicklern die Möglichkeit, den Inhalt ihres Bildschirmfensters als sicher (secure) einzustufen. Dies verhindert, dass der Inhalt bei einem Screenshot oder einem Screencapture (Videoaufzeichnung des Bildschirms) mit aufgezeichnet wird und erscheint darin schwarz. Dies ist bspw. bei sensiblen Aktionen in der Banking-App sinnvoll. Mit dem Modul DisableFlagSecure[8] kann diese Einschränkung umgangen werden und die Aufzeichnung des Bildschirms wird dadurch auch in solchen Apps möglich.

EinzelnachweiseBearbeiten

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  6. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  7. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  8. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.