explaingit

cinit/qauxiliary

5,574JavaAudience · developerComplexity · 5/5Setup · hard

TLDR

QAuxiliary is an Android module that adds unofficial extra features to QQ and TIM messaging apps by hooking into them at runtime via the Xposed framework. Intended for learning and research only, requires a rooted Android device.

Mindmap

mindmap
  root((repo))
    What it does
      QQ app modding
      Runtime hooking
    Technology
      Xposed framework
      Frida support
      Android NDK
    Releases
      CI channel
      Recommended CI
    Requirements
      Android 7 or later
      Root access
      Java 17 to build
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study how the Xposed framework intercepts and modifies a running Android app's behavior at runtime

USE CASE 2

Add personal custom features to the QQ messaging app on a rooted Android device

USE CASE 3

Use as a reference codebase for learning Android reverse engineering and runtime code modification

USE CASE 4

Build from source to understand how CI and Recommended CI release channels differ in practice

Tech stack

JavaAndroidC++NDKXposed

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a rooted Android device with Xposed or Frida, plus Java 17, Android SDK, NDK, and Ninja version 1.11 or higher to build from source.

License terms are not stated in the explanation, the project is intended for learning and research use only per its own policy.

In plain English

QAuxiliary is an open-source Android module that adds unofficial features and modifications to QQ and TIM, two popular messaging applications in China. It works by hooking into the running app at the system level using a framework called Xposed, which intercepts and modifies the app's code as it runs rather than changing the app's files directly. On devices without Xposed, it can also be loaded using a separate tool called Frida, though that requires root access. The module requires Android 7.0 or later. The project is a continuation of an earlier open-source project called QNotified, and the README is written primarily in Chinese. The development team states the project is intended for learning and research purposes only and asks that contributors not submit features designed for illegal use. Several categories of features are explicitly out of scope: anything related to money or red packets, modifying chat logs, mass messaging to groups, or anything that could negatively affect other users' normal experience. Releases come in two channels. The CI channel publishes a new build after every code commit and may include unstable changes. The Recommended CI channel is updated less frequently and only when the team decides a set of changes is stable enough to recommend to regular users. Both channels are distributed through GitHub releases and Telegram channels. The module is not available on Google Play because it generates code at runtime, which Google's policies do not allow. Building from source requires Java 17 or later, the Android SDK with NDK, Ninja version 1.11 or higher, and optionally ccache to speed up compilation. The README includes step-by-step build instructions in Chinese and notes that the project uses several third-party submodules. The project does not accept financial donations but welcomes code contributions.

Copy-paste prompts

Prompt 1
How do I build QAuxiliary from source, including setting up Java 17, the Android SDK, NDK, and the Ninja build tool?
Prompt 2
What is the difference between QAuxiliary's CI release channel and the Recommended CI channel, and which is more stable for daily use?
Prompt 3
How does QAuxiliary use the Xposed framework to modify QQ's behavior without changing the app's APK files?
Prompt 4
How do I load QAuxiliary using Frida on a rooted device as an alternative to installing the Xposed framework?
Prompt 5
What categories of features does QAuxiliary explicitly refuse to accept in contributions, and what reasons does the project give?
Open on GitHub → Explain another repo

← cinit on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.