
duchamp-root v52c8d05bcf
Xiaomi K70e (duchamp) のワンクリック root 化 (CVE-2026-43499 (IonStack) 経由) + KernelSU 統合
⚡ JetBrains Mono の誇り高きユーザー⚡
この README は JetBrains Mono のみを使用しています。Comic Sans は禁止です。
[!IMPORTANT] 🚨 免責事項
このエクスプロイトは教育目的のみです。
- ブートローダーのロック解除は保証を無効にする可能性があります。
- ルート化により、ブートループ、データ損失、または自然発火が発生する可能性があります(おそらく発生しませんが、誰にもわかりません)。
- あなたの K70e が K70 ブリックになっても、私は責任を負いません。
- ルート化に時間を費やしすぎて彼女に去られたとしても、それはあなたの問題です。
- 7̷̋̚1̸̽̈́0̵̛̅ ̸͛̿ù̶̈́n̸̓̋l̸̔̒o̸̔̒c̸̾̑k̵̇̚ ̷̊̒ḟ̷͝e̶̋̕s̵̋̚t̸̽̈́ ̵̔̋l̶̔̒e̸̓̋t̸̔̒s̵̋̚ ̸̾̑ġ̷̝o̷̊̒ ̵̛̅ḟ̷͝u̸̓̋c̷̋̚k̸̛̅i̶̽̈́n̵̔̋g̷̊̒ ̴͛̿g̶̾̑ơ̵̅
📖 中国語版
🤔 これは何ですか?
Xiaomi K70e (duchamp) ワンクリック Root ツール。CVE-2026-43499 (IonStack) カーネル脆弱性を利用して権限昇格を行い、KernelSU デーモンを統合しています。
簡単に言うと:クリックするだけで、電話が root になります。それだけ簡単です。
710 アンロックフェスティバル版:711 でも 709 でもなく、710 です。この日、私たちは電話をアンロックするのではなく、解放します。
哲学版:あなたが /proc/ で深淵を見つめるとき、深淵も pipe_physrw であなたを見つめています。
🎯 現在の対応状況
| デバイス | コードネーム | チップ | カーネルバージョン | ステータス |
|---|---|---|---|---|
| Redmi K70E | duchamp | MT6897 (Dimensity 8300) | 6.1.138-android14-11 | ✅ |
他の機種は
src/targets/ディレクトリを参照してください(元のプロジェクトに含まれている参考構成で、実際には検証されていません)。
🧠 脆弱性チェーン
| 段階 | 技術 | 説明 |
|---|---|---|
| 1. KASLR リーク | pselect slide サイドチャネル | nfulnl_log_packet データエイリアスを使用して _stext を読み取る |
| 2. FOPS ハイジャック | pselect 任意スタック書き込み | FUTEX_CMP_REQUEUE_PI + 競合状態で ops テーブルを書き換える |
| 3. 物理読み書きプリミティブ | 偽造 pipe_buf_ops | pipe_buf_ops を偽装→任意のカーネル物理読み書きを取得 |
| 4. 権限昇格 | cred + seccomp + selinux の修正 | cred uid=0、全 cap、seccomp 無効化、selinux 無効化 |
| 5. 永続化 | 組み込み KernelSU | ksud(KernelSU デーモン)を書き込み、起動 |
🎭 ユーザーストーリー
710 アンロックフェスティバル
ユーザー: 「K70e のロック解除できる?」
開発者: 「ロック解除不要、直接 root だよ。」
ユーザー: 「???」
開発者: 「w 710」
ユーザー: 「何?」
開発者: 「710 アンロックフェスティバル。BL を解除するんじゃない、電話を解放するんだ。」
初回起動
ユーザー: 「なんで再起動したの?」
preload.so: 「慌てるな、権限昇格してるんだ。」
ユーザー: 「KernelSU って何?」
preload.so: 「今お前の電話で動いてる root マネージャーだよ。」
KernelSU 統合
ユーザー: 「root 後、どう管理するの?」
ksud: 「やあ、俺は KernelSU デーモンだ。」
ユーザー: 「何ができる?」
ksud: 「アプリに root を許可できる。」
ユーザー: 「システム標準じゃないよね?」
ksud: 「preload.so に埋め込まれてるんだ。」
ユーザー: 「すごい。」
ブリック報告
ユーザー: 「お前のやつ焼いたら文鎮になった!!! 」
開発者: 「何の機種?」
ユーザー: 「iPhone 14。」
開発者: 「……本気か?」
ユーザー: 「710 フェスティバルって言うから試したんだ。」
開発者: 「710 は Xiaomi 14 のコードネームの一つだ、iPhone 14 じゃない。出て行け。」
⚙️ 動作原理
- preload.so をロード — 任意のアプリに
LD_PRELOADで注入し、__attribute__((constructor))をトリガー - KASLR ベースアドレスをリーク —
pselectサイドチャネル + nfulnl_log_packet データエイリアスで_stextを読み取り - FOPS テーブルをハイジャック — futex PI 競合状態 + pipe 操作でファイル操作の ops ポインタを書き換え
- 物理読み書きを獲得 —
pipe_buf_opsを偽装し、任意のカーネル物理アドレス読み書きを実現 - cred を修正 — root 子プロセスの cred を見つけ、uid=0、全 cap、sid=kernel に変更
- セキュリティ機構を無効化 — seccomp を無効化、TIF_SECCOMP をクリア、selinux enforce=0 を書き込み
- KernelSU を起動 — 埋め込まれた ksud を
/data/local/tmp/ksudに展開し、KernelSU デーモンを起動
📦 使用方法
前提条件
- Xiaomi K70e (duchamp) または対応する他のデバイス
- Bootloader のロック解除済み(またはロック解除不要の一時 root も対応)
- ADB デバッグが有効
- 文鎮化を恐れない勇気
クイックスタート
# Release から preload.so をダウンロード
wget https://github.com/Colorful-glassblock/duchamp-root/releases/download/v1.0/preload.so
# デバイスに転送
adb push preload.so /data/local/tmp/
# LD_PRELOAD で任意のアプリに注入してトリガー
adb shell
su -c "LD_PRELOAD=/data/local/tmp/preload.so your_app"
または、提供予定の注入スクリプトを使用(TODO)。
ソースからビルド
# NDK または Termux の aarch64-linux-android-clang が必要
make PROJECT=duchamp
# 出力先: build/duchamp/bin/preload.so
📂 ファイル構造
├── Makefile # ビルドシステム
├── assets/
│ └── (未定)
├── build/
│ └── embed/
│ └── ksud # 埋め込まれた KernelSU デーモンバイナリ
└── src/
├── main.c # エントリポイント + スレッド管理
├── preload.c # LD_PRELOAD ローダー + 埋め込みファイル書き込み
├── root.c # カーネル権限昇格 + cred 修正 + su/ksud インストール
├── slide.c # KASLR サイドチャネルリーク
├── fops.c # FOPS ハイジャック
├── pipe.c # pipe_buffer 物理読み書きプリミティブ
├── ksud_blob.S # 埋め込み ksud バイナリ
├── offset.h # カーネルオフセット共通ヘッダ
├── common.h # グローバル定数 + 関数宣言
├── kernelsnitch/ # Kernelsnitch バイパス
└── targets/
├── duchamp/
│ └── target.h # duchamp 専用オフセット
├── blazer-CP2A.260605.012/
├── caiman-CP2A.260605.012.C1/
├── comet-CP2A.260605.012.C1/
├── komodo-CP2A.260605.012.C1/
├── tegu-CP2A.260605.012/
├── tokay-CP2A.260605.012/
└── ... # その他の機種の target.h
🧩 依存関係
aarch64-linux-android-clang(NDK r29 または Termux 版)lld(LLVM リンカ)make+git- 強い心臓(文鎮化警告)
🛡️ 免責事項
本ツールは学習研究目的のみに使用してください。
Bootloader のロック解除は保証を無効にする可能性があります。
Root 化により、ブートループ、データ損失、銀行アプリの使用不可などが発生する可能性があります。
もし彼女に振られたとしても、それはあなた自身の問題です。
文鎮化したとしても、私は笑います。
710 アンロックフェスティバルおめでとう!🚀
💡 トリビア / FAQ
Q: なぜ「710 アンロックフェスティバル」?
A: 7 月 10 日。711(コンビニ)でもなく、709(何だそれ)でもなく、710。この日は BL を解除するのではなく、電話を解放する日です。
Q: 710 と Xiaomi 14 の関係は?
A: Xiaomi 14 のコードネームの一つは frankel 始まりのデバイスで、shennong ではありません。あ、710 はコードネームじゃなくてイベント名です…
Q: QwQ?
A: 感情は安定しています(嘘)。
Q: su はありますか?
A: いいえ、KernelSU のみです。su が必要なら KernelSU マネージャーをインストールして自分で有効にしてください。
Q: 他の機種は対応していますか?
A: src/targets/ ディレクトリを確認してください。あなたの機種が含まれていれば対応、含まれていなければ自分で追加してください。
Q: BL ロック解除なしで使えますか?
A: はい、LD_PRELOAD 注入は BL ロック解除を必要としません。ただし、再起動後は再注入が必要です。
Q: Kernelsnitch をトリガーしますか?
A: 既に Kernelsnitch バイパスが組み込まれています。それでも検出されたなら、それはスキル不足です。
Q: 114514?
A: はいはいわかりました草