
CVE-2026-43499에 대한 Android 커널 익스플로잇 연구 패키지로, popsicle 익스플로잇 소스, 내장 su 페이로드, 루트 브리지 헬퍼, 재현 가능한 빌드 아티팩트를 포함합니다.
생성일: 2026-08-08
이 디렉터리에는 현재 프로젝트에서 복구할 수 있는 완전한 popsicle 소스 트리, 필수 헤더 파일, 임베디드 su 페이로드, 프로덕션 바이너리 및 실행 스크립트가 정리되어 있습니다.
반드시 구분해야 할 점:
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
프로덕션 파일:
artifacts/production/t807d-popsicle-r562-show-callback-canonical-20260804.so
SHA-256:
B6DED21F90096A2FA2567807F79E7E8CCFDF9802DAF4628277A333DD8FE7DB71
주요 소스 입력:
프로덕션 파일:
artifacts/production/t807d-root-bridge-helper-r557-show-verify-callback-20260804
SHA-256:
F7FF4C293902993183F98A8D314FA2ECD012A72A36F287A361C4503844EAAB91
주요 소스 입력:
| 프로덕션 객체 | 대응 소스 |
|---|---|
| root bridge, marker, cred, SELinux, KSU 보조 로직 | source/exploit/popsicle/root_bridge_helper.c |
| 임베디드 su 경계 심볼 | source/exploit/popsicle/su_blob.S |
| su 내용 | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
| 공용 정의 및 대상 구성 | r562와 동일 |
누락되기 쉬운 두 가지 상대 경로 의존성을 보완했습니다.
첫째, target.h 참조:
#include "../../target-files/popsicle-target.h"
따라서 소스는 다음 구조를 유지해야 합니다:
source/exploit/popsicle/target.h
source/target-files/popsicle-target.h
둘째, popsicle/kernelsnitch/utils.h와 kernelsnitch.h는 계속 다음을 참조합니다:
../../ghostlock-oneplus/kernelsnitch/...
따라서 source/exploit/ghostlock-oneplus/kernelsnitch/도 반드시 유지해야 합니다.
source/popsicle만 복사하면 "겉보기에는 완전해 보이지만 실제로는 컴파일할 수 없는" 불완전한 스냅샷이 됩니다. 이 복구 패키지는 원래의 상대 경로 레이아웃에 맞춰 정리되었습니다.
툴체인:
NDK: D:Android
dk 29android-ndk-r29 API: 35 ABI: AArch64
실행:
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .
ebuild-current-source.ps1
현재 소스 재컴파일 결과:
| 파일 | 크기 | SHA-256 |
|---|---|---|
| review-build/rebuild-current-source.so | 139600 | D5C8CF6D3A0A223F0BB3319FFAE926EF3EDF56DEF520B0A99CF7526B4437EC1A |
| review-build/rebuild-current-source-helper | 75008 | 025FD4BEB793227D9595D5739483798BBB8CDB94B69734399BE4C9F329032D8F |
이는 소스 트리가 컴파일 가능함을 증명하지만, artifacts/production 내의 검증된 프로덕션 바이너리를 대체할 수는 없습니다.
타임라인 증거:
최소한 common.h, pipe.c, preload.c, root_bridge_helper.c, util.c의 현재 내용은 두 프로덕션 바이너리가 생성된 이후에 디스크에 기록되거나 수정되었습니다.
프로젝트에서 다음 항목도 발견되지 않았습니다:
따라서 기존 자료로부터 할 수 있는 일은 사용 가능한 모든 소스를 복구하고 차이를 파악하는 것이며, 프로덕션 ELF를 당시의 바이트 단위 C 소스로 역변환하는 것은 아닙니다.
binary-function-size-diff.md는 프로덕션 파일과 현재 소스 재컴파일 파일의 함수 크기 차이를 제공합니다.
r562 SO의 주요 차이:
r557 helper의 주요 차이:
이러한 차이는 Round592 소스 검토 기록의 수정 방향과 일치합니다: 환경 변수 경로 복사, 독립 linker symbol 주소 차이, 할당 실패 처리, reclaim 정리 등.
전체 소스 해시는 source-files.sha256에 있습니다. 프로덕션 산출물, 스크립트, 임베디드 파일 및 검토 빌드 결과의 해시는 manifest.json에 있습니다.
이번 테스트 진입점:
run_t807_jailbreak.cmd
대응 PowerShell:
run_t807_jailbreak.ps1
이것은 다음을 고정 참조합니다:
test-payload-current-source/
여기서 SO와 helper는 방금 source/에서 재컴파일된 산출물이며, production/ 내의 r562/r557 롤백 파일이 아닙니다. 스크립트는 ForceCurrentSourceTest=true로 설정되어 있으므로, 기기가 이전에 이미 KernelSU root 상태였더라도 이번 새 산출물을 계속 푸시하고 테스트합니다.
이번 컴파일의 세 가지 전체 출력:
| 파일 | SHA-256 |
|---|---|
| review-build/rebuild-current-source.so | D5C8CF6D3A0A223F0BB3319FFAE926EF3EDF56DEF520B0A99CF7526B4437EC1A |
| review-build/rebuild-current-source-helper | 025FD4BEB793227D9595D5739483798BBB8CDB94B69734399BE4C9F329032D8F |
| review-build/su_daemon-rebuild | D57A7F657C8DD931D2C6A82306FA097AAD14AB11E5B773F1689DD03026A880FB |
로그는 logs-current-source/에 출력됩니다.
| 프로덕션 객체 | 대응 소스 |
|---|
| SO 메인 흐름 | source/exploit/popsicle/main.c |
| 범용 커널 및 사용자 공간 유틸리티 | source/exploit/popsicle/util.c |
| slide 및 주소 위치 파악 | source/exploit/popsicle/slide.c |
| fops 및 pselect 트리거 경로 | source/exploit/popsicle/fops.c |
| pipe, reclaim, direct write | source/exploit/popsicle/pipe.c |
| LD_PRELOAD 진입점 및 su 파일 쓰기 | source/exploit/popsicle/preload.c |
| 임베디드 su 경계 심볼 | source/exploit/popsicle/su_blob.S |
| 공용 정의 | common.h, offset.h, target.h |
| 대상 구성 | source/target-files/popsicle-target.h |
| KernelSnitch 헤더 | source/exploit/popsicle/kernelsnitch/ 및 source/exploit/ghostlock-oneplus/kernelsnitch/ |
| 임베디드 파일 내용 | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
| 객체 | 파일 시간 |
|---|
| r557 helper 프로덕션 파일 | 2026-08-04 22:47:29 |
| 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 |