本文的主角是一个苦逼的程序员,最近打算开始研究越狱破解,因为打算做类似一类越狱插件的东西给自己使用。所以就了解了一下越狱破解的一个原理过程。
  每个手机都会有手机系统,苹果也不例外。每个手机系统都基于不同的操作系统。
  在linux/unix操作系统的台式机中,想要越狱或者破解 要拿到手机系统的所有源码,权限,自由读取端口。因此要找到linux/unix的漏洞相对应简单的。只需要大量的时间无止境的分析就好了。而iOS虽然没有公开源代码,但iOS是基于开源的XNU架构的,苹果的硬件也相对来说更封闭一些。已被越狱的iOS4和iOS5的两个系统都有一个自带的调试器-该调试器是为了方便苹果内部软件团队寻找调试软件bug而留下的。该调试器只能通过串口连接启用。然而,iPhone底部并没有提供串口连接。
  相比,一些大神级别的研究出来了。苹果的30针接口其中的两个针口可以进行串口通讯,而要使用这两个针口,只需要购买一些部件即可,总共花费不过30美元左右。
  将部件连接到苹果设备后,黑客就能够使用内核的调试器。能使用调试器,就有机会能找到内核的漏洞,找到漏洞后,就能够获取设备的root权限。寻找漏洞的步骤非常复杂,需要黑客具备超强的软件专识。如果你对这些底层的东西感兴趣,你可以看看stefanesser在黑帽会议上的关于寻找ios内核漏洞的名为cansecwest演讲。
  完美越狱?还是不完美越狱?
  一旦黑客找到了内核漏洞,并获取了设备的root权限。那么就可以进行不完美越狱。如果黑客更进一步,找到了苹果设备硬件级安全漏洞(例如limera1n大神找到的a4芯片的漏洞),那么黑客就可以将代码植入到启动root中,这样每次设备开机时候,都将会先启动黑客植入的代码,这就是完美越狱。
  苹果的a5 soc芯片是2011年3月ipad2发布时候亮相的。黑客们花了十月时间才找到了不完美越狱的漏洞。chronic dev团队发言人就感慨道:“我不知道ios黑客们是否意识到了a5芯片的出现完全改变了这场攻防的格局。我们越狱的工作日益艰难。这次对a5芯片的战斗就证明了这一点。”
  越狱iphone5和a6 soc芯片
  iPad2 和iPhone 4s 使用的是a5 soc芯片,是目前为止最难破解的芯片-黑客们破解之前的芯片只花了数天或则数周的时间。这是因为苹果公司一直在努力提防黑客的破解,并雇用了苹果设备破解社区里很重要的一名黑客:nicholasallegra(别名comex)。这一切不仅放缓了a5芯片破解的过程,而且comex还利用自己的黑客专才为加强a6 soc芯片防黑的种种措施。
  还有苹果最新推出的名为lighting的接口,也让黑客们很头疼。我认为lighting接口不会留出串口针口,这将会让黑客们进行逆向工程时更无从下手。在基于a4芯片的苹果设备上(iPhone 3gs/4)有可能越狱ios6系统,但这是不完美越狱。
  A6芯片会被破解么?iPhone5可以被越狱吗?如果我们能以史为鉴,那么没有产品是完全安全的。。只要时间够,黑客们总会找出系统的漏洞。
  苹果并不需要让iPhone5完全无法破解,苹果公司只需要iPhone5在下一代iPhone面世前无法被破解就是胜利了。由于苹果公司一直在加大对安全的投入,再加上最近爆出的a6 soc使用的是独家设计的新闻,我觉得如果iPhone5很长时间内一直无法被破解,也是很有可能的事情。

转:iOS 越狱的原理是什么的更多相关文章

  1. iOS 应用签名原理&重签名

    在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...

  2. 关于ios越狱开发的那些事

    也许吧,每每接触某些新东西的时候,都有点犯晕吧,这不是应该要的. 第一次接触ios越狱开发,也是这样吧.这篇主要是从无到有的说一下ios越狱的开发,网上很多的教程大部门都比较旧了吧,放在新设备上总是出 ...

  3. iOS越狱程序开发

    iOS越狱程序开发http://www.docin.com/p-760246852.html

  4. iOS程序启动原理---iOS-Apple苹果官方文档翻译

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...

  5. iOS应用启动原理图解 及ARC强弱引用

    iOS应用启动原理图解(红色箭头表示strong强引用,绿色箭头代表weak若引用) 只要将UI控件拖到Storyboard里控制器的大view上,Xcode会自动将这些控件以强引用的形式加入到sel ...

  6. iOS Category实现原理 (补充)

    iOS Category实现原理 (补充) load 和 initialize load load方法会在程序启动就会调用,当装载类信息的时候就会调用. 调用顺序看一下源代码.在 objc-loadm ...

  7. iOS Category实现原理

    iOS Category实现原理 实现原理 我们不主动引入 Category 的头文件,Category 中的方法都会被添加进主类中.我们可以通过 - performSelector: 等方式 对 C ...

  8. iOS多线程编程原理及实践

    摘要:iOS开发中,开发者不仅要做好iOS的内存管理,而且如果你的iOS涉及多线程,那你也必须了解iOS编程中对多线程的限制,iOS主线程的堆栈大小为1M,其它线程均为512KB,且这个限制开发者是无 ...

  9. iOS越狱插件源查找及避免插件劫持

    1.关于 iOS越狱插件源查找地址:https://www.ios-repo-updates.com/ 2.注意 不要使用不可靠的第三方源,其可能存在劫持,而你却茫然不知. 使用上面的网站查找你需要的 ...

随机推荐

  1. Android 应用安全风险与防范

    代码混淆 Android开发除了部分功能采用C/C++编码外,其余主要都是采用Java进行编码开发功能.Java应用非常容易被反编译,Android自然也不例外.只要利用apktool等类似的反编译工 ...

  2. Windows caffe VGG人脸识别

    caffe自带的例子有mnist和cifar10,cifar10和mnist的运行方式类型,下好图片数据文件后,训练例子中的模型,然后测试模型,也可以自己用图片进行预测分类(自己图片最好是cifar1 ...

  3. nio--自己总结

    阻塞/非阻塞  +  同步/异步 其实,这两者存在本质的区别,面向的对象是不同的. 阻塞/非阻塞:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作. 同步/异步:数据如果尚未就 ...

  4. 2018-2019-2 网络对抗技术 20165301 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165301 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分 ...

  5. C++资源之不完全导引

    1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈.Stan Lippman先生曾在<C++ Primer>一书中指出“C++是最为难学的 ...

  6. MFC命名规范

    属性部分 全局变量:g_ 常量:c_ c++类成员变量:m_ 静态变量:s_ 类型部分 指针:p 函数:fn 无效:v 句柄:h 长整型:l 布尔:b 浮点型(有时也指文件):f 双字:dw 字符串: ...

  7. 微信小程序开发之IOS/Android兼容坑(持续更新)

    一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new  Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...

  8. Amazon电商数据分析——数据获取

    最近一段时间主要重心在Amazon电商数据分析上,这是一个偏数据分析和可视化的项目.具体来说就是先获取Amazon的商品数据,数据清洗和持久化存储后作为我们自己的数据源.分析模块和可视化模块基于数据进 ...

  9. 【LOJ】#6437. 「PKUSC2018」PKUSC

    题解 我们把这个多边形三角形剖分了,和统计多边形面积一样 每个三角形有个点是原点,把原点所对应的角度算出来,记为theta 对于一个点,相当于半径为这个点到原点的一个圆,圆弧上的弧度为theta的一部 ...

  10. 关于伪类“:pseudo-class”和伪元素“::pseudo-element”的常见应用

    伪类用于指定要选择的元素的特殊状态,向其添加特殊的效果,比如: input { width: 515px; height: 50px; padding: 10px 20px; border: 1px ...