*本文原创作者:wooy0ung,本文属FreeBuf原创奖励计划,未经许可禁止转载
早期A4处理器的机器是能直接调内核的,而且30pin的数据线并没有对内核信息加密,因此我们能够直接读到内核数据。而现在的新机器一律采用加密过的light接口,使得非官方的内核调试基本上消失了。 网上也有不少大佬写过类似的教程,但年代久远,自己动手时还是遇到不少问题。
1. iPhone 4手机一部(iOS 5.1.1 9B208) 2. Apple 30pin转换接口一个 3. FT232RL串口一个 4. mini USB数据线两条 5. 470k欧电阻一个 6. 杜邦线、飞线、焊锡若干
到官网上下载串口对应的驱动: Virtual COM Port Drivers
安装iTunes,注意redsn0w最后支持iTunes 12.0.1版本,可以在这个网站下载iTunes早期版本: АРХИВ ВЕРСИЙ ITUNES
以前装过较新版本的,需要先卸载以下几个程序,重启
redsn0w的历史版本可以在这下载: Download iOS – Jailbreak Tools
1. 27pin(D+)、25pin(D-)、23pin(VCC)、16pin(GND)分别接USB的绿、白、红、黑色线。 2. 13pin(RX)、12pin(TX)、1pin(GND)分别接串口的TX端、RX端、GND端 3. pin1与pin21间焊上一个470k欧的电阻
正面
反面
安装cywin,官网上下载安装包: Cygwin
编译提示缺少ethernet.h、if_ether.h,下载相应的头文件,扔到对应目录再次编译
设置串口的波特率为115200
打开串口监听
启动命令
> redsn0w.exe -i iPhone3,1_5.1.1_9B208_Restore.ipsw -j -a "-v debug=0x08"
内核信息输出到串口了
挂起
> redsn0w.exe -i iPhone3,1_5.1.1_9B208_Restore.ipsw -j -a "-v debug=0x09" # DB_KPRT | DB_HALT => 0x09
但我这里内核并没有挂起,暂时不知道什么原因,也许是系统版本…有知道为什么的大佬还请告知一声^_^
如何调试iOS内核
如何调试iOS内核-补充说明
SyScanTaipei2011_StefanEsser_iOS_Kernel_Exploitation_IOKit_Edition
iOS内核调试教程
iOS内核调试
*本文原创作者:wooy0ung,本文属FreeBuf原创奖励计划,未经许可禁止转载