Root My Galaxy 0.3.37
SHA-256: ea664d355a468372746de513512c53c43cc8a5a93a31855a065c9b745e65dd01
Changes since v0.3.36.
What's changed
- #27 Move CZG3 diagnostics to an external observer
Full changelog
Detailed pull-request notes for all changes included in this release.
#27 — Move CZG3 diagnostics to an external observer
Summary
Moves CZG3 runtime observation out of the allocator/race-sensitive payload and into a dedicated Android :observer process.
App changes
- Adds a native external observer with adaptive sampling and a preallocated trace buffer.
- Standalone:
scope=process_tree_system, with process-tree scheduler/runtime, cgroup/uclamp/CPU metadata plus PSI/load/vmstat/buddy/cpufreq. - Shizuku:
scope=system_remote_markers. It does not falsely attach to the app PID or claim access to the remote shell process'/proc; instead, sparse markers from the authoritative remote stdout align adaptive system-telemetry bursts around attempt/P0/race/FOPS events. - Starts the observer only after the selected boot-uptime gate, immediately before exploit spawn.
- Makes observer stop/flush cancellation-safe with
NonCancellablecleanup and preservesCancellationExceptionsemantics. - Adds incremental standalone log reads for CZG3 instead of rescanning the complete file.
- Defers heavy History persistence while CZG3 is running, then persists the complete terminal log/observer report after exit.
- Preserves legacy structured-diagnostic behavior for all non-CZG3 targets.
- For exact CZG3 only, terminal success is accepted from supervisor exit status because the paired payload intentionally emits no in-band diagnostic protocol; nonzero exits are classified from supervisor retry/reboot-required output and otherwise fail closed.
Safety / behavior preserved
- No P0 timing, FOPS timing, retry-count, keeper, or exploit-route changes in this app PR.
- Unknown/unsafe CZG3 terminal states remain
DoNotRetry. - Other profiles continue requiring their existing structured diagnostics.
- Observer failure remains diagnostic-only/fail-open; exploit safety remains fail-closed.
Validation
The current production/test source passed:
./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleRelease
Review-fix validation run: 33570917880.
Paired payload PR: igorcv88/Root-My-Galaxy-Payloads-Extended#16