Root My Galaxy 0.3.56
SHA-256: dfdac309c9f07da6603ba3cd2c4e9354d5722a3d88cb0210628acb6f9fca0219
Changes since v0.3.55.
What's changed
- #47 Fix Auto Root boot gate hang
- #48 Fix Auto Root executor handoff and restore exploit launch parity
Full changelog
Detailed pull-request notes for all changes included in this release.
#47 — Fix Auto Root boot gate hang
Fix
- Remove the redundant
getprop sys.boot_completedpolling afterBOOT_COMPLETEDhas already been delivered. - Keep only the configured monotonic boot-uptime gate before binding the fresh executor.
- Change the initial FGS text to the stabilization state instead of
Waiting for Android.... - Persist one terminal History entry for failures that happen before the executor can own a run record.
Why
The old readiness probe spawned /system/bin/getprop and then synchronously readText() from the child process. That blocking call is not cancellable by withTimeoutOrNull, so one stuck child could leave the FGS indefinitely at Waiting for Android... and no executor/history entry would ever be created.
Deliberately unchanged
- Auto Root remains offline-only and standalone-only.
- Fresh
:autoroot_execprocess and bind priority flags are unchanged. - Native exploit/payload, P0/FOPS timing, attempt counts and KernelSU path are unchanged.
- No observer/telemetry is added.
#48 — Fix Auto Root executor handoff and restore exploit launch parity
Summary
Fix the post-stabilization Auto Root handoff without touching the native exploit or payload timing.
Changes
- make the gate/executor handoff explicit and observable instead of relying on
onBind()side effects; - add a bounded executor connection/start handshake so a failed fresh-process launch becomes a terminal Auto Root error instead of silently disappearing;
- update the foreground notification for every Auto Root stage, including
Preparing exploitandRunning exploit; - move the once-per-boot claim to immediately before the actual executor handoff so a gate that dies during stabilization does not consume the boot attempt;
- restore the per-boot
SLIDE_P0_OFFSEThint used by the working manual path, while keeping any cache write outside the active payload race; - keep Auto Root strictly offline + standalone and preserve the fresh
:autoroot_execprocess.
Intentionally unchanged
- native payload and exploit source;
- CZG3 race timing / offsets / retry safety;
- Manual Online/Offline behavior;
- KernelSU payload.
The attached device failure log shows Auto Root reaching the standalone payload and failing later in FOPS, so this PR is scoped to eliminating the silent handoff/UI regression and restoring launch parity rather than changing the native race itself.