Root My Galaxy 0.3.46
SHA-256: bce311ecc107d4246e3212fb46b2ad5cfd976d1f95e6bcee2a032db745e183fb
Changes since v0.3.45.
What's changed
- #36 Gate CZG3 Auto Root before helper and observer spawn
Full changelog
Detailed pull-request notes for all changes included in this release.
#36 — Gate CZG3 Auto Root before helper and observer spawn
Summary
This PR applies the Auto Root corrections derived from the v0.3.45 diagnostic runs without changing the exploit itself.
- moves the CZG3 minimum-uptime wait back to the Android side before External Observer or helper process creation;
- keeps
RMG_BOOT_MIN_UPTIME_SECin the payload environment strictly as a fail-safe gate; - takes a fresh
autoroot_root_requestAndroid context snapshot at gate release instead of re-labeling the stale runner-dispatch snapshot; - starts Auto Root exploit/watchdog elapsed accounting at the actual post-gate process launch path, eliminating the previous ~60 s hidden pre-gate helper lifetime;
- adds
RMG_AUTOROOT_GATE_V1telemetry with request, release, pre-spawn, wait, observer-order and payload-gate policy fields; - updates unit coverage so Auto Root explicitly waits to 120 s before spawn while still carrying the payload-level uptime fail-safe;
- marks the old immediate-helper gate helper as legacy/deprecated to prevent accidental reuse.
Why
In the failing Auto Root v0.3.45 run, the helper and observer were created at ~59.6 s and remained alive while the payload waited internally until 120 s. By the first exploit attempt the native tree had been moved to /moderate / cpu:/background with effective_uclamp_max=266. The successful manual standalone path instead created observer/helper only after the 120 s gate and ran with a much more favorable scheduling context.
This patch makes Auto Root follow the successful manual standalone temporal architecture: quiet boot window first, then observer/helper spawn.
Deliberately unchanged
No changes to:
- CZG3 payload;
- P0 timings, offsets, or scan strategy;
- FOPS route or
fops_effective_consume_us=70000; - supervisor retry sequence;
- reclaim / keeper logic;
- External Observer cadence/coverage;
- fail-closed / DoNotRetry safety.
Expected validation
For the next Auto Root runs, the log should show:
RMG_AUTOROOT_GATE_V1release/pre-spawn at or just after the selected minimum uptime;- External Observer start only after that marker;
- native
RMG_BOOT_V1 process_spawn_uptime_msat ~120 s rather than ~60 s; payload_wait_ms=0in the normal path;- the first process-tree metadata near launch, allowing direct verification of cgroup/uclamp inheritance after the pre-gate helper lifetime is removed.
The repository still has no pull-request CI workflow, so this PR does not claim a completed Gradle build from GitHub Actions.