github igorcv88/Root-My-Galaxy-Extended v0.3.40
Root My Galaxy 0.3.40

latest releases: v0.3.104, v0.3.103, v0.3.102...
one month ago

Root My Galaxy 0.3.40

SHA-256: c4a6c805d6882c0559d5a1dfd46233fcc2ac44b5119bb038b57c27961b4047bd

Changes since v0.3.39.

What's changed

  • #32 Fix CZG3 attempt discovery and external stage timings

Full changelog

Detailed pull-request notes for all changes included in this release.

#32 — Fix CZG3 attempt discovery and external stage timings

Summary

Fix the remaining External Observer v2 instrumentation gap exposed by the v0.3.39 standalone sentinel, without changing exploit behavior.

Attempt PID discovery

  • Match exploit-attempt start lines by their semantic fields (exploit attempt=, pid=, delay=) instead of depending on the colored [+] prefix.
  • Apply the same rule to the native standalone log tailer and the Kotlin marker parser used by Shizuku.
  • Keep timeout and failed-attempt lines excluded from attempt_begin.
  • Add regression coverage for the real ANSI-colored pr_success shape and timeout lines.

KernelSU stage timings

  • Normalize post-exploit KernelSU stage timings so they cannot be earlier than the elapsed exploit time measured by the external observer.
  • Preserve already-valid later timings and preserve advanced KernelSU stages without adding a regressed race-stage timing.
  • Add a regression for the v0.3.39 zero-millisecond stage timing case.

Why

The v0.3.39 sentinel cd140518-c42b-4fa0-b5a7-cf1cf48bf6a3 succeeded on attempt 1, and the observer correctly covered helper, supervisor, and all slide children, but reported trace_complete=false / process_coverage_reason=attempt_discovery. The payload emits pr_success with an ANSI reset between the [+] decoration and exploit attempt=..., so the literal native/Kotlin matcher never saw the attempt begin line even though it was present in the raw payload log.

The same run also exposed zero-millisecond StagingKernelSu, LateLoadingKernelSu, and VerifyingKernelSu history timings even though the external observer had a valid exploit elapsed time.

Scope

App observer/reporting only. No changes to the payload, P0/FOPS race timings, offsets, reclaim, retry policy, supervisor behavior, keepers, cgroup protection, fail-closed behavior, payload selection, or KernelSU execution flow.

Validation

Passed GitHub Actions run 33654590433 with:

./gradlew --build-cache :app:testDebugUnitTest :app:lintDebug :app:assembleRelease -PreleaseVersionCode=10040 -PreleaseVersionName=0.3.40

The temporary validation workflow was removed after the successful run; the final PR diff contains only the five observer/reporting/test files.

Don't miss a new Root-My-Galaxy-Extended release

NewReleases is sending notifications on new releases.