Mapa de engenharia reversa do SPTM desta seed. Destinado a quem já tem o IM4P e precisa de identidade, VMA, hubs e invariantes antes de abrir o Mach-O.
im4p Firmware/sptm.t8120.release.im4p
payload sptm.extracted
sha256 0417b04f8978d60577d0ff47d25861793756174f9b4f03f8f2f23c93187f0ebc
uuid 1E4D43F8-4405-3D3A-AF15-1065ACDE8443
version 800.0.0.502.1
pc 0xfffffff02709c388
__text 0xfffffff027094000 size 0x58298
Este repositório não contém o binário. Contém a interpretação de disassembly, strings, registradores e call graph.
Trabalho de pesquisa. Não é documentação da Apple. Nomes _sptm_* são hipóteses, não símbolos nativos.
Quem extrai sptm.*.im4p, abre o Mach-O arm64e e precisa de um índice desta build — não de um tutorial e não de um PoC.
O git responde a três perguntas:
- É o SPTM que penso? → hash, UUID, source version,
t8120 - Onde está o código? → maps/addresses.md, maps/hubs.md
- O que o monitor afirma? → tipos, panic path, bootstrap, IOMMU como cliente
Quem procura primitive, tabela GENTER ou receita de bypass está no sítio errado. Ver NOTICE.md.
| Caminho | Conteúdo |
|---|---|
| docs/00-corpus.md | Origem, hashes, regras de preservação |
| docs/01-identity.md | Identidade do Mach-O, UUID, versão |
| docs/02-layout.md | Segmentos, seções, alinhamento 16 KB |
| docs/03-architecture.md | Papel do SPTM, domínios, TXM/SK/XNU |
| docs/04-bootstrap.md | Prólogo em 0xfffffff027094000 |
| docs/05-exception-vectors.md | VBAR, frame de 816 B, panic path |
| docs/06-system-registers.md | TCR/SCTLR/TTBR e família S3_*_C15_* |
| docs/07-call-graph.md | Hubs, thunks, arestas BL/B/BLR |
| docs/08-pac-cfi.md | arm64e, PAC, brk #0xc471 |
| docs/09-page-types.md | Taxonomia SPTM_* / XNU_* |
| docs/targets/ | Alvos da Fase 12 |
| docs/subsystems/ | DART, SART, UAT, NVMe, TXM, HIB |
| docs/10-methodology.md | Falhas do corpus e como ler endereços |
| docs/11-open-questions.md | O que o dump ainda não fecha |
| maps/addresses.md | Canónico VMA / offset-imagem / offset-text |
| maps/hubs.md | Frequência de BL |
| maps/segments.md | Tabela de segmentos |
| GLOSSARY.md | Termos |
| CONVENTIONS.md | Como citar endereços e confiança |
Firmware/sptm.t8120.release.im4p → sptm.extracted
formato Mach-O 64-bit arm64e (caps PAK00)
flags NOUNDEFS | PIE
sha256 0417b04f8978d60577d0ff47d25861793756174f9b4f03f8f2f23c93187f0ebc
uuid 1E4D43F8-4405-3D3A-AF15-1065ACDE8443
version 800.0.0.502.1
pc 0xfffffff02709c388
__text 0xfffffff027094000 size 0x58298
A etiqueta iPadOS 27.0 Beta 1 | 24A5355q é da cadeia de extração. O Mach-O não grava o número de build.
SPTM é o monitor privilegiado de tipos de página física e de mappings IOMMU neste SoC. Substitui o PPL a partir de A15/M2. Vive acima do XNU (GXF / guarded level). XNU, TXM, SK, DART, SART, UAT e NVMe são clientes: pedem transição de tipo; não escrevem PTE.
O código é fail-closed. O hub 0xfffffff0270ec02c é chamado 925 vezes. Violação de tipo, de dono IOMMU, de alinhamento a SPTM_PAGE_SIZE (16 KB) ou de cache vira panic, não modo degradado.
O prólogo em 0xfffffff027094000 não é main. É handoff: dual-stack, VBAR, CurrentEL == 8, TPIDR_EL1 = cpu << 14, spin em registrador Apple S3_6_C15_C12_4, programação de TCR/SCTLR/TTBR, slide PIE, teardown da janela temporária.
Cada afirmação neste repo usa um de:
- A — visível no disassembly local do endereço
- B — visível por call site / xref
- C — inferido por string, layout ou literatura pública
- X — hipótese fraca / a verificar
Ver CONVENTIONS.md.
- O Mach-O, o IM4P, o
logs.zipde 13 MB - 82 862 linhas de objdump coladas de novo
- Receita de bypass, exploit, patch ou biblioteca de chamada ao monitor
O raw permanece fora. Este repositório é o índice interpretado.