rvmm-zygisk-mount — Zygiskでの事前アプリ特化時マウント注入

Mobile

概要

rvmm-zygisk-mountは、Zygiskの「pre app specialization」(アプリが最終的に初期化される前の段階)でマウント操作を挿入することに特化した小さなプロジェクトです。現状は主にrevanced-magisk-module向けに作られており、モジュールの提供するファイルやバイナリがアプリ起動時から確実に反映されるようにします。これにより、再起動直後に表示される「Reflash needed」エラーや、ルート検出アプリからの「Suspicious mount detected」といった警告を低減できます。MagiskとKernelSUの両方をサポートする点も特徴です。

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 1
  • ウォッチャー数: 4
  • コミット数: 2
  • ファイル数: 6
  • メインの言語: C++

主な特徴

  • Zygiskのpre-app-specialization段階でマウントを注入してアプリ起動前に反映
  • MagiskとKernelSUの両対応を目指した実装
  • 現状はrevanced-magisk-module向けに最適化されているが汎用化可能
  • 軽量なC++コードで実装、Magiskモジュール形式で配布可能

技術的なポイント

rvmm-zygisk-mountのコアは、Androidプロセスの初期化フローに介入してマウント操作を早期に適用することにあります。Androidでは各アプリが独立したマウント名前空間(mount namespace)やその他の名前空間を使うことがあり、アプリ起動後に行うマウントでは間に合わないケース(ルート検出や起動直後のチェック)があります。ZygiskはZygoteの仕組みを利用してアプリプロセスの生成にフックを入れられるため、「pre app specialization」などの早い段階でコードを実行し、必要なbind mountやoverlayを作成すれば、アプリ側から見えているファイルシステムを起動直後から改変できます。

本リポジトリはC++で実装され、Zygisk環境下で動作する小さなフックモジュールとして書かれています。実装はMagiskモジュールとして配布できる構成(magiskディレクトリ)を持ち、update.jsonによる自動更新情報も含まれていることから、実用を念頭に置いたパッケージングになっています。MagiskとKernelSU(KSU)は内部のフックや権限の扱いが異なるため、両方に対応するための抽象化が施されていると想定されます。

扱う操作は基本的にマウント関連(例えばmount —bind相当の操作や、名前空間への切り替えとマウントの適用)であり、これによりrevanced-magisk-moduleがアプリに差し込むべきファイルやバイナリをアプリが起動した瞬間から利用可能にします。結果として、再起動時にモジュールが適用されていないと認識されることで発生する「Reflash needed」や、ユーザー空間レベルで走るルート検出からの「Suspicious mount detected」といった問題を未然に防ぐことができます。

注意点としては、Zygisk前提の実行であるためZygisk非対応環境では動作しません。また、SElinuxポリシーやカーネルの挙動、KSUのバージョン差異などによりマウント操作が失敗する可能性があるため、利用時は環境依存のテストが必要です。将来的にはrevanced以外のモジュールでも同様の早期マウントが必要なケースに応用可能で、設計は比較的汎用化しやすい作りになっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • magisk: dir
  • update.json: file

…他 1 ファイル

まとめ

Zygiskの早期段階でマウントを注入し、revanced系モジュールの安定動作を支えるシンプルで実用的なツール。

リポジトリ情報:

READMEの抜粋:

rvmm-zygisk-mount

Injects the mounts at the pre app specialization with Zygisk (for revanced-magisk-module).

  • Supports Magisk and KernelSU
  • For now, it only supports revanced-magisk-module but can be generalized

Fixes problems such as,

  • “Reflash needed” error after reboots
  • “Suspicious mount detected” warnings from root detector apps

Usage

  • Make sure the modules of whichever app you want is installed from [revanced-magisk-module](re…