制作iOS内核调试线与调试内核

0x00 说明

早期A4处理器的机器是能直接调内核的,而且30pin的数据线并没有对内核信息加密,因此我们能够直接读到内核数据。而现在的新机器一律采用加密过的light接口,使得非官方的内核调试基本上消失了。 网上也有不少大佬写过类似的教程,但年代久远,自己动手时还是遇到不少问题。

0x01 准备材料

1. iPhone 4手机一部(iOS 5.1.1 9B208) 2. Apple 30pin转换接口一个 3. FT232RL串口一个 4. mini USB数据线两条 5. 470k欧电阻一个 6. 杜邦线、飞线、焊锡若干

0x02 安装驱动

到官网上下载串口对应的驱动: Virtual COM Port Drivers

安装iTunes,注意redsn0w最后支持iTunes 12.0.1版本,可以在这个网站下载iTunes早期版本:АРХИВ ВЕРСИЙ ITUNES

以前装过较新版本的,需要先卸载以下几个程序,重启

redsn0w的历史版本可以在这下载: Download iOS - Jailbreak Tools

0x03 焊接

1. 27pin(D+)、25pin(D-)、23pin(VCC)、16pin(GND)分别接USB的绿、白、红、黑色线。 2. 13pin(RX)、12pin(TX)、1pin(GND)分别接串口的TX端、RX端、GND端 3. pin1与pin21间焊上一个470k欧的电阻

正面

反面

0x04 编译SerialKDPProxy

安装cywin,官网上下载安装包: Cygwin

编译提示缺少ethernet.h、if_ether.h,下载相应的头文件,扔到对应目录再次编译

设置串口的波特率为115200

打开串口监听

0x05 设置红雪参数调试内核

启动命令

内核信息输出到串口了

挂起

但我这里内核并没有挂起,暂时不知道什么原因,也许是系统版本…有知道为什么的大佬还请告知一声^_^

0x06 参考

如何调试iOS内核 如何调试iOS内核-补充说明 SyScanTaipei2011_StefanEsser_iOS_Kernel_Exploitation_IOKit_Edition iOS内核调试教程 iOS内核调试

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全栈

前端工程化(一)---工程目录搭建

1183
来自专栏服务端技术杂谈

Angular项目实践

今天主要和大家分享四个内容:第一,是为什么我们要选择 Angular;第二,是我们在使用 Angular 过程中总结的一些比较好的实践;第三,是怎样更好的组织项...

4167
来自专栏无原型不设计

Mockplus演示和分享原型设计的8种方式

Mockplus目前是国内比较流行的原型设计工具,功能上,相比Axure不算全面和强大,但在不少功能上有它独到之处。 Axure有个比较让人头疼的地方,就是对于...

4196
来自专栏前端真相

浏览器存储之cookie

2037
来自专栏Flutter入门到实战

Zxing二维码扫描和那些坑

Google的zxing来实现二维码扫描我相信很多人都用过。但是实现的过程遇到了很多的坑,也是因为这些坑在网上没有具体的解决方案,今天就把我的实现过程分享给大家...

971
来自专栏哲学驱动设计

OEA 框架中集成的 RDLC 报表介绍

之前 OEA 一直用着一个 Delphi 开发的报表,所以两年来我一直就想在 OEA 中构建一个纯 .NET 的报表模块,但是一想到要开发复杂的报表引擎和设计器...

2276
来自专栏IT派

教你用Python来玩微信跳一跳实现物理外挂

1、下载程序:打开下面的链接,点右侧 clone or download,再点 download zip;

1180
来自专栏北京马哥教育

像看电影一样看Python程序运行:Livepython

? 像看电影一样看Python程序运行 注意: Livepython目前是alpha版本的软件,它不会处理很多边缘情况,并且功能在将来也可能会改变 Live...

3076
来自专栏云飞学编程

python简单应用,用python爬虫和GUI编程,做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬...

1521
来自专栏向治洪

android系统分层

  Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户...

21510

扫码关注云+社区