Shennaitong-wangchao/HackinBoot
GitHub: Shennaitong-wangchao/HackinBoot
Stars: 0 | Forks: 0
# HackinBoot
HackinBoot 是一个面向研究的 ARM EL2 hypervisor 原型,用来探索在 QEMU/通用 ARM 虚拟化环境中拦截并模拟 Apple Silicon 早期启动所需的硬件接口。
HackinBoot is a research-oriented ARM EL2 hypervisor prototype for exploring how Apple Silicon early-boot hardware assumptions can be trapped and modeled in QEMU or a generic ARM virtualization environment.
This repository does not contain Apple proprietary kernels, firmware, restore images, kexts, or system images. Local experiments may use lawful, user-obtained artifacts, but those artifacts must never be committed or redistributed here.
本仓库不包含 Apple 专有内核、固件、恢复镜像、kext 或系统镜像。你可以在本地使用合法取得的实验材料,但不得把这些材料提交或再分发到本仓库。
## Current Milestone / 当前里程碑
The current public baseline reaches XNU early serial output in QEMU and has reproduced the banner:
当前公开基线已经能在 QEMU 中推进到 XNU 早期串口输出,并复现如下 banner:
>>> GUEST OUTPUT START >>>
Darwin Kernel Version 23.5.0: Wed May 1 20:16:51 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T8103
That milestone is documented in [docs/PHASE3_6_4_FIRST_OUTPUT.md](docs/PHASE3_6_4_FIRST_OUTPUT.md). A clean bilingual reproduction guide is available at [docs/REPRODUCE_DARWIN_VERSION.md](docs/REPRODUCE_DARWIN_VERSION.md).
该里程碑记录在 [docs/PHASE3_6_4_FIRST_OUTPUT.md](docs/PHASE3_6_4_FIRST_OUTPUT.md)。完整的中英双语复现流程见 [docs/REPRODUCE_DARWIN_VERSION.md](docs/REPRODUCE_DARWIN_VERSION.md)。
## Scope / 范围
- EL2 entry, exception vectors, and ERET into an EL1 guest.
- Stage-2 mapping, permission repair for bring-up, and MMIO trap dispatch.
- Apple-like UART, AIC, timer, DART, PMGR, SMC, and sysreg stubs.
- Fake Apple Device Tree and boot arguments sufficient for early XNU bring-up research.
- Mach-O64 metadata parsing, mapping, and local-only kernelcache loading for lawful fixtures.
- EL2 入口、异常向量表,以及 ERET 到 EL1 guest。
- Stage-2 映射、bring-up 阶段权限修复,以及 MMIO trap 分发。
- Apple-like UART、AIC、timer、DART、PMGR、SMC 和 sysreg stub。
- 用于早期 XNU bring-up 研究的 fake Apple Device Tree 与 boot arguments。
- Mach-O64 元数据解析、映射,以及仅限本地合法材料的 kernelcache 加载。
This is not a production bootloader, not a supported way to run macOS, and not an Apple security-bypass toolkit.
这不是生产级 bootloader,不是受支持的 macOS 运行方式,也不是 Apple 安全机制绕过工具包。
## Quick Start / 快速开始
Run the synthetic QEMU test suite first:
先运行合成 payload 的 QEMU 测试:
cd hypervisor
make
make test-all
On Ubuntu, use the packaged cross toolchain:
在 Ubuntu 上通常使用发行版提供的交叉编译工具链:
sudo apt-get update
sudo apt-get install -y build-essential gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu qemu-system-arm
cd hypervisor
CROSS_COMPILE=aarch64-linux-gnu- make test-all
如需本地复现 Darwin banner,请按以下文档操作:
docs/REPRODUCE_DARWIN_VERSION.md
## Repository Layout / 仓库结构
hypervisor/ QEMU EL2 research prototype and guest payload tests
docs/ Architecture notes, phase reports, debugging guides, and reproduction docs
tools/ Local helper scripts; generated Apple artifacts are ignored
src/ Open-source reference trees used as local research context
## Documentation / 文档
- [docs/README.md](docs/README.md) - bilingual documentation index / 中英双语文档索引
- [docs/REPRODUCE_DARWIN_VERSION.md](docs/REPRODUCE_DARWIN_VERSION.md) - Darwin banner reproduction / Darwin banner 复现流程
- [docs/OPEN_SOURCE_RELEASE.md](docs/OPEN_SOURCE_RELEASE.md) - release and maintainer checklist / 开源发布检查清单
- [docs/LEGAL_AND_ETHICS.md](docs/LEGAL_AND_ETHICS.md) - legal, ethics, and artifact policy / 法律、伦理与材料边界
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) - architecture notes / 架构说明
- [docs/TRAP_MATRIX.md](docs/TRAP_MATRIX.md) - trap and stub matrix / trap 与 stub 矩阵
- [docs/DEBUGGING.md](docs/DEBUGGING.md) - debugging guide / 调试指南
- [docs/ROADMAP.md](docs/ROADMAP.md) - roadmap / 路线图
- [docs/LIMITATIONS.md](docs/LIMITATIONS.md) - limitations / 限制说明
- [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) - contribution rules / 贡献规则
## Compliance Boundary / 合规边界
- Use open-source references and lawful user-provided artifacts only.
- Do not fetch, commit, publish, or redistribute proprietary Apple binaries.
- Keep `tools/kernelcache.macho`, IPSW files, logs, and local extraction work directories ignored.
- Respect each reference tree's license; the top-level MIT license only covers HackinBoot original code and documentation unless a file states otherwise.
- 仅使用开源参考资料和用户合法取得的本地材料。
- 不要抓取、提交、发布或再分发 Apple 专有二进制。
- 保持 `tools/kernelcache.macho`、IPSW 文件、日志和本地解包目录处于 ignored 状态。
- 尊重每个参考源码树的许可证;顶层 MIT 许可证只覆盖 HackinBoot 原创代码和文档,除非单个文件另有声明。
## License / 许可证
HackinBoot original code and documentation are released under the MIT License. Vendored or copied open-source reference trees keep their original licenses; see [THIRD_PARTY.md](THIRD_PARTY.md).
HackinBoot 原创代码和文档使用 MIT License 发布。仓库中的第三方开源参考源码树保留其原始许可证;见 [THIRD_PARTY.md](THIRD_PARTY.md)。
标签:客户端加密