
Package de recherche sur l'exploitation du noyau Android pour CVE-2026-43499, contenant le code source de l'exploit popsicle, une charge utile su embarquée, un assistant de pont root et des artefacts de compilation reproductibles.
Date de génération : 2026-08-08
Ce répertoire contient l'arborescence source complète de popsicle récupérable dans le projet actuel, les en-têtes nécessaires, la charge utile su embarquée, les binaires de production et les scripts d'exécution.
Il faut distinguer :
source-final-correspondence-20260808/
├─ source/
│ ├─ exploit/
│ │ ├─ popsicle/
│ │ │ ├─ main.c
│ │ │ ├─ util.c
│ │ │ ├─ slide.c
│ │ │ ├─ fops.c
│ │ │ ├─ pipe.c
│ │ │ ├─ preload.c
│ │ │ ├─ root_bridge_helper.c
│ │ │ ├─ su_blob.S
│ │ │ ├─ su_daemon.c
│ │ │ ├─ common.h / offset.h / target.h
│ │ │ ├─ kernelsnitch/
│ │ │ └─ build/embed/su_daemon_aarch64_pie
│ │ └─ ghostlock-oneplus/kernelsnitch/
│ └─ target-files/popsicle-target.h
├─ embed/su_daemon_aarch64_pie
├─ artifacts/production/
├─ runtime/
├─ review-build/
├─ rebuild-current-source.ps1
├─ source-files.sha256
├─ binary-function-size-diff.md
├─ binary-function-size-diff.csv
└─ manifest.json
Fichier de production :
artifacts/production/t807d-popsicle-r562-show-callback-canonical-20260804.so
SHA-256 :
B6DED21F90096A2FA2567807F79E7E8CCFDF9802DAF4628277A333DD8FE7DB71
Principales entrées source :
Fichier de production :
artifacts/production/t807d-root-bridge-helper-r557-show-verify-callback-20260804
SHA-256 :
F7FF4C293902993183F98A8D314FA2ECD012A72A36F287A361C4503844EAAB91
Principales entrées source :
| Objet de production | Code source correspondant |
|---|---|
| root bridge, marker, cred, SELinux, logique auxiliaire KSU | source/exploit/popsicle/root_bridge_helper.c |
| Symboles de délimitation su embarqués | source/exploit/popsicle/su_blob.S |
| Contenu su | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
Deux dépendances de chemin relatif facilement omises ont été complétées.
Premièrement, la référence dans target.h :
#include "../../target-files/popsicle-target.h"
Le code source doit donc conserver :
source/exploit/popsicle/target.h
source/target-files/popsicle-target.h
Deuxièmement, popsicle/kernelsnitch/utils.h et kernelsnitch.h continuent de référencer :
../../ghostlock-oneplus/kernelsnitch/...
Par conséquent, source/exploit/ghostlock-oneplus/kernelsnitch/ doit également être conservé.
Copier uniquement source/popsicle donnerait un instantané incomplet « d'apparence complète mais en réalité non compilable ». Ce paquet de restauration a été organisé selon la disposition originale des chemins relatifs.
Chaîne d'outils :
NDK: D:Android
dk 29android-ndk-r29 API: 35 ABI: AArch64
Exécution :
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .
ebuild-current-source.ps1
Résultat de la recompilation du code source actuel :
| Fichier | Taille | SHA-256 |
|---|---|---|
| review-build/rebuild-current-source.so | 139600 | D5C8CF6D3A0A223F0BB3319FFAE926EF3EDF56DEF520B0A99CF7526B4437EC1A |
| review-build/rebuild-current-source-helper | 75008 | 025FD4BEB793227D9595D5739483798BBB8CDB94B69734399BE4C9F329032D8F |
Cela prouve que l'arborescence source est compilable, mais ne peut pas remplacer les binaires de production vérifiés dans artifacts/production.
Preuves chronologiques :
Au moins le contenu actuel de common.h, pipe.c, preload.c, root_bridge_helper.c et util.c a été écrit ou modifié après la génération des deux binaires de production.
Le projet n'a pas non plus trouvé :
Donc, à partir des matériaux existants, ce qui est possible est de restaurer tout le code source disponible et de localiser les différences, mais pas de transformer en sens inverse le binaire ELF de production en code source C octet par octet de l'époque.
binary-function-size-diff.md présente les différences de taille des fonctions entre les fichiers de production et les fichiers recompilés à partir du code source actuel.
Différences clés du SO r562 :
Différences clés du helper r557 :
Ces différences sont cohérentes avec les directions de correction consignées dans la revue du code source Round592 : copie de chemin de variable d'environnement, différence d'adresse de symbole linker indépendant, gestion des échecs d'allocation, nettoyage reclaim, etc.
Les hachages complets du code source se trouvent dans source-files.sha256. Les hachages des artefacts de production, scripts, fichiers embarqués et résultats de build de revue se trouvent dans manifest.json.
Point d'entrée de ce test :
run_t807_jailbreak.cmd
PowerShell correspondant :
run_t807_jailbreak.ps1
Il référence de manière fixe :
test-payload-current-source/
où le SO et le helper sont les artefacts tout juste recompilés depuis source/, et non les fichiers de restauration r562/r557 dans production/. Le script définit ForceCurrentSourceTest=true, donc même si l'appareil était déjà en état root KernelSU, il continuera à pousser et tester les nouveaux artefacts de cette session.
Les trois sorties complètes de cette compilation :
| Fichier | SHA-256 |
|---|---|
| review-build/rebuild-current-source.so | D5C8CF6D3A0A223F0BB3319FFAE926EF3EDF56DEF520B0A99CF7526B4437EC1A |
| review-build/rebuild-current-source-helper | 025FD4BEB793227D9595D5739483798BBB8CDB94B69734399BE4C9F329032D8F |
| review-build/su_daemon-rebuild | D57A7F657C8DD931D2C6A82306FA097AAD14AB11E5B773F1689DD03026A880FB |
Les journaux sont écrits dans logs-current-source/.
| Objet de production | Code source correspondant |
|---|
| Flux principal du SO | source/exploit/popsicle/main.c |
| Outils génériques noyau et espace utilisateur | source/exploit/popsicle/util.c |
| slide et localisation d'adresses | source/exploit/popsicle/slide.c |
| fops et chemin de déclenchement pselect | source/exploit/popsicle/fops.c |
| pipe, reclaim, direct write | source/exploit/popsicle/pipe.c |
| Point d'entrée LD_PRELOAD et écriture du fichier su | source/exploit/popsicle/preload.c |
| Symboles de délimitation su embarqués | source/exploit/popsicle/su_blob.S |
| Définitions communes | common.h, offset.h, target.h |
| Configuration de la cible | source/target-files/popsicle-target.h |
| En-têtes KernelSnitch | source/exploit/popsicle/kernelsnitch/ et source/exploit/ghostlock-oneplus/kernelsnitch/ |
| Contenu du fichier embarqué | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
| Définitions communes et configuration de la cible |
| identiques à r562 |
| Objet | Horodatage du fichier |
|---|
| Fichier de production r557 helper | 2026-08-04 22:47:29 |
| Fichier de production r562 SO | 2026-08-04 22:59:05 |
| main.c | 2026-08-04 22:22:16 |
| slide.c | 2026-08-04 21:54:58 |
| common.h | 2026-08-05 08:07:26 |
| pipe.c | 2026-08-05 08:07:34 |
| preload.c | 2026-08-05 08:07:30 |
| root_bridge_helper.c | 2026-08-05 08:10:10 |
| util.c | 2026-08-05 08:14:57 |