Files
vphone-cli/research/kernel_patch_jb/PATCH_DOC_FRAMEWORK.md
Lakr 5388e0c9c5 Squash merge startup-hang-fix into main
Prefix research patch comparison doc and normalize root markdown names

Rename research root markdown files to scoped topic names
2026-03-06 02:42:12 +08:00

94 lines
2.3 KiB
Markdown

# JB Kernel Patch Document Framework
Use this structure for every `research/kernel_patch_jb/patch_*.md` file.
## 1. Patch Metadata
- Patch ID and filename
- Related patcher module/function
- Analysis date
- Analyst note (static only)
## 2. Patch Goal
- Security or behavior gate being changed
- Why this matters for jailbreak bring-up
## 3. Target Function(s) and Binary Location
- Primary function name and address
- Backup candidate names (if symbol mismatch)
- Patchpoint VA and file offset
## 4. Kernel Source File Location
- Expected source path (for example `osfmk/vm/vm_fault.c`)
- If private/non-XNU component, say so explicitly
- Confidence: `high` / `medium` / `low`
## 5. Function Call Stack
- Upstream callers (entry -> target)
- Downstream callees around patched logic
- Dispatch-table or indirect-call notes where needed
## 6. Patch Hit Points
- Exact instruction(s) before patch (bytes + asm)
- Exact instruction(s) after patch (bytes + asm)
- Any shellcode/trampoline/cave details
## 7. Current Patch Search Logic
- String anchor(s)
- Instruction pattern(s)
- Structural filters and uniqueness checks
- Failure handling when matcher is ambiguous
## 8. Pseudocode (Before)
- Compact pseudocode of original decision path
## 9. Pseudocode (After)
- Compact pseudocode of modified decision path
## 10. Validation (Static Evidence)
- IDA-MCP evidence used
- Symbol JSON cross-check notes
- Why selected site is correct
## 11. Expected Failure/Panic if Unpatched
- Concrete expected error/deny/panic behavior
- Where failure is triggered in control flow
## 12. Risk / Side Effects
- Security impact
- Behavioral regressions or stability risks
## 13. Symbol Consistency Check
- Match result vs recovered symbols: `match` / `mismatch` / `partial`
- If mismatch/partial: likely-correct naming candidates
## 14. Open Questions and Confidence
- Remaining uncertainty
- Confidence score and rationale
## 15. Evidence Appendix
- Relevant addresses, xrefs, constants, strings
- Optional decompiler snippets summary
## Minimum Acceptance Per Document
- All 15 sections present.
- Byte-level before/after included for each hit point.
- Call stack included (not just one symbol mention).
- Kernel source location included with confidence.
- Unpatched failure/panic expectation explicitly described.