Legacy-iOS-Kit项目中的iPod touch 3代SHSH blob保存问题分析
问题背景
在iOS设备越狱和降级过程中,保存SHSH blob是一项关键操作。SHSH blob是苹果用于验证固件合法性的数字签名,保存这些签名文件对于设备降级至关重要。然而,在使用Legacy-iOS-Kit工具尝试保存iPod touch 3代(运行iPhone OS 3.1.2)的SHSH blob时,遇到了转换失败的问题。
问题现象
当尝试将原始dump转换为SHSH blob时,工具报错"LLB blob corrupted or not found"(LLB blob损坏或未找到)。从日志中可以看到,工具成功加载了包括LLB.n18ap.RELEASE.img3在内的多个固件文件,但在转换过程中却无法找到有效的LLB blob。
技术分析
根据DEBUG iBoot的bdev list命令输出显示,问题的根源在于存储位置的不同:
- 工具当前是从
nand_firmware块设备进行dump操作 - 而LLB(低级引导程序)实际上存储在
nand_llb块设备上
这种存储架构的差异导致了工具无法正确获取LLB blob,进而使整个转换过程失败。iPod touch 3代采用这种分离存储的设计可能是出于安全或性能考虑。
解决方案建议
虽然仓库所有者表示可能不会修复此问题,但对于需要保存iPod touch 3代SHSH blob的用户,可以考虑以下替代方案:
- 使用iFaith 1.0工具:这是一个专门用于早期iOS设备的SHSH blob保存工具
- 操作时需注意:
- 先将设备置于恢复模式
- 然后进入pwned DFU模式进行操作
技术延伸
LLB(Low Level Bootloader)是苹果设备引导过程中的第一阶段引导程序,负责初始化硬件并加载iBoot。在较新的设备中,LLB的功能被整合到iBoot中,但在早期设备如iPod touch 3代中,它仍然是独立的组件。这种架构差异导致了许多现代工具在处理这些老设备时会出现兼容性问题。
对于iOS设备降级爱好者来说,理解这些底层差异非常重要。不同代际的设备在引导流程和固件存储结构上可能存在显著区别,这也是为什么针对不同设备需要特定版本工具的原因。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



