Aliucord
Aliucord | |
---|---|
Status | Active |
Repository | Aliucord/Aliucord |
Language | Kotlin + Java |
License | OSL-3.0 |
Aliucord, commonly referred to as Aliu, or AC, is a mobile Discord client mod for Android. It targets the v126.21 version of the Android app, a version from mid-2022 now called the Legacy Android App[1]. It's primary method of patching is runtime ART hooking through the use of LSPlant.
Backstory
TODO
Architecture
While Aliucord is an extremely complex project (actively used source code is spread across at least 13 repositories), the main components can be simplified down to just four. Installer (alternatively Manager), Injector, Core, and the external plugins. The Installer is a separate app that handles downloading the Discord APK from a mirror, adding in a precompiled Injector, which replaces an entry point into the app. Once this replaced class is run, the Injector initializes LSPlant and downloads a precompiled Core to execute, which applies some fixes and then loads externally installed plugins.
More detailed info can be found in this blog post: "Aliucord: Modding the legacy Discord app".
Manager
Aliucord Manager was created in the summer of 2021[2], aiming to replace the Aliucord Installer with better design. It is written entirely in Kotlin and Jetpack Compose. As of March 2024, nearly 3 years later, it is still under development. While initially the main idea of this rewrite was to stop using Flutter, new ideas and features started to be implemented, aided by collaboration with Vendetta's Manager. A more user-friendly UI, an install flow that handles edge cases, and multi-install support are some of the main differences.