Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL Easy tools: Citat
| This is a draft article. It is a work in progress open to editing by anyone. Please ensure core content policies are met before publishing it as a live Wikipedia article. Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL Last edited by OussamaTeyib (talk | contribs) 3 months ago. (Update)
Finished drafting? |
| Xposed Framework | |
|---|---|
| Original author | Robert Vollmer (rovo89) |
| Release | March 31, 2012 |
| Final release | v89
/ December 17, 2017 |
| Preview release | v90-beta3
/ January 29, 2018 |
| Written in | C++, Java |
| Operating system | Android |
| Platform | Android |
| Successor | EdXposed, LSPosed, Vector |
| License | Apache License 2.0 |
| Website | https://api.xposed.info/ |
| Repository |
|
Xposed Framework is a free and open-source software hooking framework for rooted Android devices. It enables runtime modification of system and application behavior without altering original APK files or flashing custom ROMs. Modifications are delivered through "modules", which are separate apps that hook into Android system methods.[1]
Created by rovo89 and first released in 2012, the framework became popular in Android modding for its modular design. Official development ended around Android Oreo due to increased security and platform restrictions, with successors like LSPosed continuing its functionality.
The Xposed Framework was first released on 31 March 2012, as a proof-of-concept on the XDA Developers forums.[2]
In 2013, version 2.2 introduced an integrated module repository, allowing users to more easily discover and install modifications directly within the application.[3]
In 2014, with the release of Android 5.0 (Lollipop), Google transitioned from the Dalvik runtime to the Android Runtime (ART). This caused major compatibility challenges for Xposed and required substantial redevelopment to remain functional.[4]
Android applications are launched from a system process called Zygote. Xposed hooks into this process so that every app spawned can be intercepted and modified.
On older Android versions (up to 4.4), Xposed modified the system app-launching process by replacing the core system binary. This enabled it to load a custom bridge library during startup. Method hooking was implemented by intercepting Java method calls and redirecting them to Xposed's handler, which allowed module code to run before, after, or in place of the original method execution.[5]
From Android 5.0 onward, Android switched to the ART runtime, which compiles apps ahead-of-time into native code. This made the original approach unusable. Xposed was adapted to hook into ART's internal libraries, modifying method entry points or forcing interpreted execution paths to regain control over method calls.[4]
The framework is split into three distinct technical layers to ensure stability and ease of development:
Modules are independent Android applications that use the Xposed API to modify behavior of other apps or system components. They can alter UI elements, system features, permissions, or app logic without modifying the original application package.[1]
Beyond end-user customization, the Xposed Framework has seen significant use in academic and professional security research. Researchers have used it as a dynamic instrumentation platform for analyzing Android applications at runtime, including work on detecting privacy leakage in third-party libraries embedded within apps.[6] Security professionals have also used Xposed modules to perform penetration testing tasks such as bypassing SSL certificate pinning and root detection in Android applications.[7]
Increasing restrictions in Android (notably SELinux enforcement, Verified Boot, and ART hardening) made direct modification of system partitions increasingly impractical. This led to a shift toward systemless implementations based on runtime injection frameworks integrated with Magisk.
EdXposed is a compatibility layer that provides Xposed module support on modern Android systems using Magisk and the Riru framework. It reimplements the Xposed API while avoiding direct modification of the system partition, enabling a systemless installation approach.[8]
LSPosed is a successor to EdXposed and supports both Riru and Zygisk (Magisk's built-in replacement for Riru). It introduced the LSPlant hooking framework, enabling scoped injection so modules are loaded only into explicitly targeted applications rather than all processes, improving efficiency and isolation.[9]
Vector is a fork of LSPosed focused exclusively on Zygisk-based environments. It continues the LSPosed ecosystem after its discontinuation in 2024 and is updated to support modern Android versions.[10]
Several "Xposed-compliant" frameworks allow for module support without root access. These implementations operate at the application level rather than the system level, using virtualization or binary modification.
LSPatch is a non-root framework derived from LSPosed that enables Xposed module support by statically modifying Android apps to embed the Xposed loader, allowing modules to run when the app starts.[11]
VirtualXposed is a non-root sandboxing solution that runs apps and Xposed modules inside an isolated environment. It applies hooks within this container so modules only affect virtualized apps.[12]
{{cite web}}: CS1 maint: numeric names: authors list (link)
{{cite web}}: CS1 maint: numeric names: authors list (link)
{{cite web}}: CS1 maint: numeric names: authors list (link)
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.