
duchamp-root v52c8d05bcf
Xiaomi K70e (duchamp) root en un clic via CVE-2026-43499 (IonStack) + intégration KernelSU
⚡ Fier utilisateur de JetBrains Mono ⚡
Ce README utilise exclusivement JetBrains Mono. Comic Sans est interdit.
[!IMPORTANT] 🚨 Avis de non-responsabilité
Cet exploit est à usage éducatif uniquement.
- Déverrouiller le bootloader peut annuler votre garantie.
- Rooter votre appareil peut provoquer un bootloop, une perte de données, ou une combustion spontanée (probablement pas, mais qui sait).
- Je ne suis pas responsable si votre K70e se transforme en brique K70.
- Si votre petite amie vous quitte parce que vous avez passé trop de temps à rooter, c'est votre problème.
- 7̷̋̚1̸̽̈́0̵̛̅ ̸͛̿ù̶̈́n̸̓̋l̸̔̒o̸̔̒c̸̾̑k̵̇̚ ̷̊̒ḟ̷͝e̶̋̕s̵̋̚t̸̽̈́ ̵̔̋l̶̔̒e̸̓̋t̸̔̒s̵̋̚ ̸̾̑ġ̷̝o̷̊̒ ̵̛̅ḟ̷͝u̸̓̋c̷̋̚k̸̛̅i̶̽̈́n̵̔̋g̷̊̒ ̴͛̿g̶̾̑ơ̵̅
📖 Version chinoise
🤔 Qu'est-ce que c'est
Xiaomi K70e (duchamp) outil de Root en un clic basé sur l'exploit du noyau CVE-2026-43499 (IonStack), intégré avec le démon KernelSU.
Version simple : Tu cliques, le téléphone est rooté. Aussi simple que ça.
Version Festival 710 : Pas le 711, pas le 709, le 710. Ce jour-là, on ne déverrouille pas le téléphone, on le libère.
Version philosophique : Quand tu regardes dans /proc/, le /proc/ te regarde aussi avec pipe_physrw.
🎯 Compatibilité actuelle
| Appareil | Code | Puce | Version du noyau | Statut |
|---|---|---|---|---|
| Redmi K70E | duchamp | MT6897 (Dimensity 8300) | 6.1.138-android14-11 | ✅ |
Les autres modèles se trouvent dans
src/targets/(configurations de référence du projet original, non vérifiées).
🧠 Chaîne d'exploit
| Étape | Technique | Description |
|---|---|---|
| 1. Fuite KASLR | Canal latéral pselect slide | Lecture de _stext via alias de données nfulnl_log_packet |
| 2. Détournement FOPS | Écriture arbitraire sur la pile via pselect | FUTEX_CMP_REQUEUE_PI + condition de course pour écraser la table ops |
| 3. Primitif de lecture/écriture physique | Falsification de pipe_buf_ops | Faux pipe_buf_ops → lecture/écriture physique arbitraire du noyau |
| 4. Élévation de privilèges | Patch cred + seccomp + selinux | Modifier cred uid=0, toutes les capacités, désactiver seccomp, désactiver selinux |
| 5. Persistance | KernelSU intégré | Écrire et lancer ksud (démon KernelSU) |
🎭 Histoires d'utilisateurs
Festival 710
Utilisateur : "Je peux déverrouiller mon K70e ?"
Moi : "Pas besoin de déverrouiller, root direct."
Utilisateur : "??? "
Moi : "w 710"
Utilisateur : "Quoi ? "
Moi : "Dernière œuvre du Festival 710, pas déverrouillage BL, libération du téléphone."
Premier démarrage
Utilisateur : "Pourquoi mon téléphone a redémarré ?"
preload.so : "Pas de panique, j'élève les privilèges."
Utilisateur : "C'est quoi KernelSU ?"
preload.so : "Le gestionnaire root qui tourne maintenant sur ton téléphone."
Intégration KernelSU
Utilisateur : "Comment gérer root après ?"
ksud : "Bonjour, je suis le démon KernelSU."
Utilisateur : "Tu sais faire quoi ?"
ksud : "Accorder les droits root aux applis."
Utilisateur : "Tu n'es pas intégré au système ?"
ksud : "Je suis intégré dans preload.so."
Utilisateur : "Bravo."
Accident de brique
Utilisateur : "J'ai flashé ton truc et maintenant c'est une brique !!!"
Moi : "Quel modèle ?"
Utilisateur : "iPhone 14."
Moi : "...... Sérieux ?"
Utilisateur : "Tu as dit Festival 710, je suis venu essayer."
Moi : "710 est un des codes de Xiaomi 14, pas iPhone 14. Dégage."
⚙️ Fonctionnement
- Charger preload.so — Injecter via
LD_PRELOADdans n'importe quelle app, déclenche__attribute__((constructor)) - Fuir l'adresse de base KASLR — Canal latéral
pselectvia alias de données nfulnl_log_packet lit_stext - Détourner la table FOPS — Condition de course futex PI + réécriture d'opérations pipe
- Obtenir lecture/écriture physique — Falsifier
pipe_buf_opspour un accès mémoire physique arbitraire du noyau - Patcher cred — Trouver le processus enfant root, patcher uid=0, toutes les capacités, sid=noyau
- Désactiver la sécurité — Désactiver seccomp, effacer TIF_SECCOMP, écrire selinux enforce=0
- Lancer KernelSU — Extraire le ksud intégré vers
/data/local/tmp/ksud, démarrer le démon KernelSU
📦 Utilisation
Prérequis
- Xiaomi K70e (duchamp) ou autre appareil supporté
- Bootloader déverrouillé (ou non — LD_PRELOAD fonctionne dans les deux cas)
- Débogage ADB activé
- Un courage à toute épreuve (risque de brique)
Démarrage rapide
# Télécharger preload.so depuis les Releases
wget https://github.com/Colorful-glassblock/duchamp-root/releases/download/v1.0/preload.so
# Pousser vers l'appareil
adb push preload.so /data/local/tmp/
# Injecter dans n'importe quelle app via LD_PRELOAD
adb shell
LD_PRELOAD=/data/local/tmp/preload.so votre_app
Ou utilisez le script d'injection fourni (TODO).
Compilation manuelle
# Nécessite NDK ou aarch64-linux-android-clang de Termux
make PROJECT=duchamp
# Sortie dans build/duchamp/bin/preload.so
📂 Structure des fichiers
├── Makefile # Système de compilation
├── assets/
│ └── (à compléter)
├── build/
│ └── embed/
│ └── ksud # Binaire intégré du démon KernelSU
└── src/
├── main.c # Entrée + gestion des threads
├── preload.c # Chargeur LD_PRELOAD + écriture de fichiers intégrés
├── root.c # Élévation de privilèges + patch cred + installation su/ksud
├── slide.c # Fuite canal latéral KASLR
├── fops.c # Détournement FOPS
├── pipe.c # Primitif lecture/écriture physique pipe_buffer
├── ksud_blob.S # Binaire ksud intégré
├── offset.h # En-tête générique des décalages noyau
├── common.h # Constantes globales + déclarations de fonctions
├── kernelsnitch/ # Contournement Kernelsnitch
└── targets/
├── duchamp/
│ └── target.h # Décalages spécifiques 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 pour autres modèles
🧩 Dépendances
aarch64-linux-android-clang(NDK r29 ou version Termux)lld(éditeur de liens LLVM)make+git- Un cœur solide (alerte brique)
🛡️ Avis de non-responsabilité
Cet outil est uniquement à des fins d'étude et de recherche.
Déverrouiller le Bootloader peut annuler la garantie.
Rooter l'appareil peut provoquer une brique, une perte de données, une incompatibilité des applis bancaires.
Si tu te fais larguer à cause de ça, c'est ton problème.
Si tu flashe et que ça devient une brique, je me moquerai de toi.
Joyeux Festival 710 ! 🚀
💡 Fun facts / FAQ
Q : Pourquoi "Festival 710" ?
R : Le 10 juillet. Pas le 711 (magasin de proximité), pas le 709 (on s'en fout). Le 710. Ce jour-là, on ne déverrouille pas le BL, on libère le téléphone.
Q : 710 a-t-il un lien avec Xiaomi 14 ?
R : L'un des codes de Xiaomi 14 est frankel, pas shennong. En fait, 710 est une fête, pas un code...
Q : QwQ ?
R : Émotionnellement stable (faux).
Q : Y a-t-il su ?
R : Non, seulement KernelSU. Si tu veux su, installe un gestionnaire KernelSU et active-le.
Q : Supporte-t-il d'autres modèles ?
R : Regarde src/targets/. Si ton modèle est dedans, oui ; sinon, ajoute-le toi-même.
Q : Puis-je l'utiliser sans déverrouiller le BL ?
R : Oui, l'injection LD_PRELOAD ne nécessite pas de BL déverrouillé. Mais il faudra réinjecter après un redémarrage.
Q : Est-ce que ça déclenche Kernelsnitch ?
R : Le contournement de Kernelsnitch est inclus, mais si tu es détecté, c'est un problème de compétence.
Q : 114514 ?
R : Oui oui, compris, lol.
📖 Anglais
🤔 Qu'est-ce que c'est
Xiaomi K70e (duchamp) outil de root en un clic basé sur CVE-2026-43499 (IonStack) exploit du noyau, intégré avec le démon KernelSU.
Version décontractée : Clic, root, fini.
Version Festival 710 : 10 juillet. Pas le 11 juillet (magasin), pas le 9 juillet (on s'en moque). Le 10 juillet. Ce jour-là, on ne déverrouille pas les bootloaders, on libère les téléphones.
Version philosophique : Quand tu regardes dans /proc/, /proc/ te regarde avec pipe_physrw.
🎯 Appareils supportés
| Appareil | Code | SoC | Noyau | Statut |
|---|---|---|---|---|
| Redmi K70E | duchamp | MT6897 (Dimensity 8300) | 6.1.138-android14-11 | ✅ |
Les autres appareils dans
src/targets/sont des configurations de référence du projet original, non vérifiées.
🧠 Chaîne d'exploit
| Étape | Technique | Description |
|---|---|---|
| 1. Fuite KASLR | Canal latéral pselect slide | Lecture de _stext via alias de données nfulnl_log_packet |
| 2. Détournement FOPS | Écriture arbitraire sur la pile via pselect | Course FUTEX_CMP_REQUEUE_PI → écraser la table ops |
| 3. Primitif rw physique | Falsification de pipe_buf_ops | Fausses ops pipe buffer → rw physique arbitraire du noyau |
| 4. Élévation | Patch cred + seccomp + selinux | uid=0, toutes les capacités, désactiver seccomp, désactiver selinux |
| 5. Persistance | KernelSU intégré | Écrire et lancer ksud (démon KernelSU) |
🎭 Galerie de mèmes
Festival 710
Utilisateur : "Puis-je déverrouiller mon K70e ?"
Développeur : "Pas besoin, root direct."
Utilisateur : "??? "
Développeur : "w 710"
Utilisateur : "Quoi ? "
Développeur : "Festival 710. Pas déverrouillage BL, libération des téléphones."
Premier démarrage
Utilisateur : "Pourquoi mon téléphone a redémarré ?"
preload.so : "Panique pas, j'élève les privilèges."
Utilisateur : "Pourquoi KernelSU est sur mon téléphone ?"
preload.so : "Je l'ai mis. De rien."
Intégration KernelSU
Utilisateur : "Comment gérer root après ?"
ksud : "Salut, je suis le démon KernelSU."
Utilisateur : "Tu fais quoi ?"
ksud : "Accorder root aux applis."
Utilisateur : "Tu n'es pas intégré ?"
ksud : "Je suis intégré dans preload.so."
Utilisateur : "Cool."
Rapport de brique
Utilisateur : "J'ai flashé ton truc et c'est une brique !!!"
Développeur : "Quel appareil ?"
Utilisateur : "iPhone 14."
Développeur : "... Sérieux ?"
Utilisateur : "Tu as dit Festival 710, j'ai essayé."
Développeur : "710 est un code de Xiaomi 14, pas iPhone 14. Barre-toi."
⚙️ Comment ça marche
- Charger preload.so — injection via
LD_PRELOADdans n'importe quelle app, déclenche__attribute__((constructor)) - Fuite base KASLR — canal latéral
pselectvia alias de données nfulnl_log_packet lit_stext - Détournement table FOPS — course futex PI + réécriture d'opérations pipe
- Obtenir rw physique — falsifier
pipe_buf_opspour accès mémoire physique arbitraire du noyau - Patch cred — trouver la tâche enfant root, patcher uid=0, toutes les capacités, sid noyau
- Désactiver sécurité — patcher seccomp, effacer TIF_SECCOMP, selinux enforce=0
- Lancer KernelSU — extraire le ksud intégré vers
/data/local/tmp/ksud, démarrer le démon KernelSU
📦 Utilisation
Prérequis
- Xiaomi K70e (duchamp) ou autre appareil supporté
- Bootloader déverrouillé (ou pas — LD_PRELOAD fonctionne dans les deux cas)
- Débogage ADB activé
- Une âme courageuse
Démarrage rapide
# Télécharger preload.so depuis les Releases
wget https://github.com/Colorful-glassblock/duchamp-root/releases/download/v1.0/preload.so
# Pousser vers l'appareil
adb push preload.so /data/local/tmp/
# Injecter dans n'importe quelle app via LD_PRELOAD
adb shell
LD_PRELOAD=/data/local/tmp/preload.so votre_app
Compiler à partir des sources
# Nécessite NDK ou aarch64-linux-android-clang de Termux
make PROJECT=duchamp
# Sortie dans build/duchamp/bin/preload.so
📂 Structure des fichiers
├── Makefile
├── assets/
│ └── (à venir)
├── build/embed/ksud # Démon KernelSU intégré
└── src/
├── main.c, preload.c, root.c, slide.c, fops.c, pipe.c
├── ksud_blob.S # Binaire ksud intégré
├── su_daemon.c, offset.h, common.h
├── kernelsnitch/ # Contournement Kernelsnitch
└── targets/ # Fichiers target.h spécifiques aux appareils
🧩 Dépendances
aarch64-linux-android-clang(NDK r29 ou Termux)lldlinkermake+git- Un cœur solide (alerte brique)
🛡️ Avis de non-responsabilité
Cet outil est à usage éducatif uniquement.
Déverrouiller BL peut annuler la garantie.
Rooter peut provoquer bootloop, perte de données ou incompatibilité d'applis.
Si tu briques ton appareil, c'est un problème de compétence.
Si tu m'en veux, c'est ton problème.
Si tu ris, tu es des nôtres.
Festival 710 ! 🚀
💡 Anecdotes / FAQ
Q : Pourquoi "Festival 710" ?
R : 10 juillet. Pas le jour du magasin (7/11), pas le 9 juillet (on s'en fout). 10 juillet. Ce jour-là, on ne déverrouille pas les bootloaders, on libère les téléphones.
Q : QwQ ?
R : Émotionnellement stable (gros mensonge).
Q : Puis-je l'utiliser sans déverrouiller BL ?
R : Oui. L'injection LD_PRELOAD ne nécessite pas de BL déverrouillé. Mais il faudra réinjecter après redémarrage.
Q : Est-ce que ça déclenche Kernelsnitch ?
R : Le contournement de Kernelsnitch est inclus. Si tu te fais attraper, problème de compétence.
Q : 114514 ?
R : Oui oui, compris, lol.
Fabriqué avec 💀, ☕, 710% d'effort, et absolument zéro Comic Sans