Root My Galaxy 0.3.39
SHA-256: 942595fdb842d419c97ffcbe611db13fceb443844d26d257a108f83bff7a750f
Changes since v0.3.38.
What's changed
- #31 Fix External Observer v2 process coverage
Full changelog
Detailed pull-request notes for all changes included in this release.
#31 — Fix External Observer v2 process coverage
Corrige as lacunas de instrumentação reveladas pela Sentinela 1 bem-sucedida (run_id=a1434f93-8d84-4d69-9df7-e8549b63cc54) sem alterar o exploit.
O run comprovou attach nativo válido ao helper, mas a árvore permaneceu count=1, deixando supervisor, exploit attempt e slide children fora da telemetria. Também revelou cpu=-1 sendo tratado como CPU estável e affinity do observer falhando com EINVAL ao pedir CPU 7 apesar do mask efetivo 0-5.
Mudanças:
- descobre e rastreia PIDs de
helper,supervisor,attempteslide_childa partir dos marcadores já existentes no log; - combina esses PIDs com a descoberta recursiva existente por
/proc/<pid>/task/<tid>/children, que continua preservada como fonte adicional; - emite role por amostra e métricas separadas por papel;
- trata CPU não observável como
NA/null, em vez de contabilizar-1como CPU estável; - escolhe o CPU do observer dentro do affinity mask realmente permitido, mantendo
SCHED_IDLE/nice e sem alterar affinity do exploit; - endurece
trace_completeno scope standalone: exige cobertura real de helper, supervisor, attempts e do slide child crítico quando ele existe; - mantém
system_remote_markersdo Shizuku sem exigir process-tree local; - inclui cobertura/reason/role metrics nos relatórios race/prep/external observer;
- poda PIDs transitórios já encerrados do registry ativo para não acumular leituras inúteis em retries longas e amplia apenas a tabela histórica de PIDs já vistos;
- adiciona regressões para cobertura completa/incompleta, CPU
NAe scope remoto.
Validação:
- run
33584196133::app:testDebugUnitTest :app:lintDebug :app:assembleReleasepassou integralmente, incluindo C/CMake sob-Wall -Wextra -Werror; - run
33584865425: após a poda bounded de PIDs, a mesma validação completa passou novamente antes do commit da alteração.
Não altera payload, P0/FOPS, offsets, timings, retries, supervisor, reclaim, keeper, cgroup, KernelSU, snapshot semantics nem fail-closed.