Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

月虹提权助手

月虹提权助手是一个内置 Stellar Manager、Server、API 与 DirtyFrag v1.15 的 Android 提权工作台。应用不再依赖外部 Shizuku 或外部 Stellar 管理器,可直接在应用内通过 Android 无线调试完成 Stellar 自激活,再使用 Stellar.newProcess() 执行命令;DirtyFrag 作为独立的 Android 12+ 模式运行。

  • 应用 ID:roro.stellar.yuehong
  • 版本:v1.5.8(versionCode 158)
  • 最低系统:Android 9(API 28)
  • 目标系统:Android API 37
  • ABI:arm64-v8a

运行流程

  1. 启动时验证服务端签名公告、客户端版本与频道授权。
  2. 检查内置 Stellar Binder 和 stellar 权限。
  3. 服务未启动时进入应用内无线调试自激活页;配对、连接和服务启动均由内置 Stellar 组件完成。
  4. 服务已启动但权限未确认时,使用 Stellar 自身授权页完成显式授权。
  5. 授权后进入命令工作台,终端和本地提权文件都通过 Stellar.newProcess() 执行。
  6. Stellar 提权使用 APK 内置提权文件手动选择,或导入本地载荷;提权执行不再请求设备匹配和载荷下载服务。
  7. DirtyFrag 模式单独运行用户提供的 DirtyFrag v1.15 上游源码,获取临时 Root 后由 native bootstrap 直接调用所选管理器的 ksud late-load --package-name 完成 KernelSU 激活;管理器包名来自提权模式页的持久化选择。
  8. 提权成功后可按原流程检测并激活 KernelSU;KernelSU 接管后的 su 不可用时立即停止后续命令。

应用保留正式版包名;使用相同证书签名时可覆盖安装现有正式版。公开源码不附带发行证书。整合工程未使用 Stellar 上游的 sharedUserId。

源码结构

assistant/  月虹提权助手 UI、启动验证、本地载荷和提权业务
manager/    Android 宿主、自激活界面、无线调试、授权、Binder 接收与 DirtyFrag 原生链
server/     以 ADB shell 或 Root 身份运行的 Stellar 特权服务
api/        随工程固定版本交付的 Stellar API、AIDL、Provider 与共享代码
shizuku/    Stellar 内部保留的 Shizuku 兼容层
LICENSES/   第三方许可证文本

assistant 是 Android Library,最终由 manager 打包成唯一 APK。桌面唯一入口仍是月虹提权助手的 roro.stellar.yuehong.activities.MainActivity;Stellar 原管理器首页、更新器入口和安装未知 APK 权限不进入发行 Manifest。

主要上游项目

  • Stellar:内置的 Manager、Server 与核心服务框架。
  • GhostLock-App:GhostLock 原生提权核心、OTA 解析器和内核偏移资源。
  • KSuRoot:APK 内置提权载荷来源。
  • DirtyFrag:DirtyFrag v1.15 原生提权链与 KMI 内核模块唯一上游来源;本工程同步自用户提供的 DirtyFrag-master.zip。

其他第三方代码的许可证和归属见 NOTICE.md 与 LICENSES。

服务器配置

复制 server.properties.example 为根目录下的 server.properties,填写:

compatibilityEndpoint=
moduleId=
protocolV2Endpoint=
channelEndpoint=
protocolV2PublicKey=
protocolV2KeyId=
romProtocolV2Endpoint=
romProtocolV2PublicKey=
romProtocolV2KeyId=
channelJoinUrl=
updateUrl=

moduleId 应填写为构建者自己服务端配置的模块 ID;示例文件不携带月虹正式服务的模块 ID 或其他运营配置。

公开源码不包含运营域名、接口路径、模块标识、公钥、key ID、频道链接、更新地址、签名口令或密钥库。需要联网功能时,由构建者在本地复制示例文件后填写自己的 HTTPS 服务和协议密钥。server.properties、签名属性和密钥库不会进入公开源码包。

构建

需要:

  • JDK 21
  • Android SDK Platform 37.0
  • Android SDK Build Tools 36.0.0
  • Android NDK 29.0.13113456
  • CMake 3.22.1 或更高版本

Windows 中文路径下请使用工程自带脚本。脚本会创建一个仅在构建期间存在的 ASCII 临时目录联接,避免 CMake/Ninja 的中文路径限制,不会复制源码:

构建调试版:

.\tools\build_android.ps1 -Variant Debug

构建正式版:

.\tools\build_android.ps1 -Variant Release

若工程位于纯 ASCII 路径,也可直接执行 ./gradlew :manager:assembleRelease。

Release 签名读取根目录下由构建者自行创建的 keystore.properties;公开源码不附带任何发行密钥或签名属性。主要产物会同步到:

out/apk/月虹提权助手-v1.5.8-release.apk
out/mapping/mapping-v1.5.8.txt

安全边界

  • 自激活只负责启动 ADB shell/Root 身份的 Stellar 服务,不会让 Android 应用进程本身变成 Root。
  • 助手在每次执行前同时检查 Binder 存活状态和 Stellar 授权状态。
  • 有线 vivo/iQOO 提权的在线响应、资源元数据和线路票据继续执行 Ed25519 与 SHA-256 校验。
  • 本地文件先复制到应用私有缓存,再由 Stellar 写入 /data/local/tmp/preload.so;不会修改用户选择的原文件。
  • 正式运营接口仍校验应用 ID 和正式签名证书;自行重签名的构建不会连接正式服务。
  • DirtyFrag 入口在所有系统版本都显示;Android 12 以下仅禁用进入操作,/dev/df 已存在时会阻止重复执行并提示重启。

许可与归属

本工程是一个由不同许可证文件组成的组合项目。组合发行版以 MPL-2.0 为顶层许可证,原有文件继续保留各自许可证:

  • 月虹提权助手集成与修改部分遵循 MPL-2.0。
  • Stellar 与月虹修改文件遵循 MPL-2.0,完整文本位于 LICENSES/MPL-2.0.txt。
  • Stellar 中源自 Shizuku 的文件保留 Apache-2.0。
  • GhostLock 源码保留 Apache-2.0。
  • KSuRoot 本地载荷组件保留 Apache-2.0。
  • DirtyFrag 原生链按上游文件头与待核对的上游许可证说明归属,不声明为 MPL-2.0。

根目录 LICENSE 为 MPL-2.0 完整文本。完整归属与修改说明见 NOTICE.md,第三方许可文本见 LICENSES。发布前可运行 tools/verify_public_source.ps1 检查配置、密钥文件和构建产物是否被误加入。

提权模式页面

启动验证与频道授权通过后,应用先进入提权模式选择页:

  • 内核 6.1 / 6.6 / 6.12 · GhostLock:独立运行,按精确 uname -r 使用内置或导入 offsets;支持 boot.img、骁龙 boot.img + xbl_config.img、天玑 boot.img 与完整 OTA 链接。
  • 通用提权助手 · Stellar:使用 APK 内置提权文件手动选择、本地文件导入、自激活和命令控制台。
  • DirtyFrag v1.15:入口始终显示,只有 Android 12+ 设备可以进入;使用 DirtyFrag 上游八个 KMI 模块构建产物,获取临时 Root 后由 native bootstrap 调用页面所选管理器的 ksud late-load --package-name 完成 KernelSU 激活。

DirtyFrag 的临时文件位于应用的 device-protected files 目录,bootstrap 不会清理整个 /data/local/tmp。DirtyFrag 上游版本、KMI 构建产物和许可证核对见 LICENSE_REVIEW.md 与 NOTICE.md。原生文件名中保留上游使用的 dfroot 模块和库名,以维持 DirtyFrag 的内核模块协议。

GhostLock 完整上游源码固定在 third_party/ghostlock。更新其原生组件后执行:

.\tools\build_ghostlock.ps1 -NdkVersion 29.0.13113456 -Offline
python .\tools\generate_ghostlock_kernels.py

生成的 arm64 文件固定写入 assistant/src/main/jniLibs/arm64-v8a/libghostlock.so 与 libextract.so;Android 工程仍由 tools/build_android.ps1 构建。

关于 About

月虹提权助手:内置 Stellar 与 GhostLock 的 Android 提权工作台

语言 Languages

Kotlin82.4%
Java6.1%
C4.1%
C++2.6%
PowerShell2.3%
Assembly1.0%
AIDL0.4%
Shell0.4%
CMake0.4%
Python0.2%
Makefile0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
50
Total Commits
峰值: 41次/周
Less
More

核心贡献者 Contributors