Emulating an iPhone in QEMU
a year ago
- #Hardware Security
- #iOS Emulation
- #Cybersecurity
- eShard提供了一个强大的协作式平台,用于管理攻击工作流,包含专家模块、基础设施集成和实验室设备管理功能。
- 该平台支持多种攻击技术,如侧信道攻击、故障注入攻击和光发射分析,同时提供评估实验室和入门套件用于实践训练。
- eShard还提供esReverse工具,支持静态/动态/压力测试,可扩展支持Intel x86/x64和ARM 32/64二进制文件,涵盖渗透测试、漏洞研究和数字取证。
- 团队使用alephsecurity/xnu-qemu-arm64和TrungNguyen1909/qemu-t8030等开源方案探索iOS模拟,目标是实现具备UI和应用执行功能的iOS模拟器。
- 通过PongoOS和checkra1n补丁修改iOS内核,并采用差异工具和补丁文件生成技术使补丁过程更具声明性和可管理性。
- 图形渲染问题促使团队尝试软件渲染和Metal API代理方案,最终因复杂度选择软件渲染方案。
- 调试工作包括设置帧缓冲设备、禁用内核与用户态地址随机化,以及通过修改lockdownd获取系统日志。
- 通过QEMU禁用指针认证(PAC)强制功能解决兼容性问题,为此需移植到QEMU 8.2.1版本。
- 进一步调试发现backboardd和图形平面写入问题,通过修改DTB模拟iPhone X(t8015)最终实现显示输出。
- 开发高效处理大二进制文件的工具链,实现用户空间和dyld缓存的快速修改测试。
- 集成PreBoard和VNC服务器实现部分UI功能,但AMX指令模拟问题需通过vImage框架补丁启用软件替代方案。
- 项目最终达成SpringBoard显示准备状态,尚待进一步调整解决剩余UI问题。