本文的主角是一个苦逼的程序员,最近打算开始研究越狱破解,因为打算做类似一类越狱插件的东西给自己使用。所以就了解了一下越狱破解的一个原理过程。
  每个手机都会有手机系统,苹果也不例外。每个手机系统都基于不同的操作系统。
  在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. jquery-easyui:格式化列

    主框架页面: 在主界面区会加载西区菜单点击的URL内容. <!DOCTYPE html> <html> <head> <meta charset=" ...

  2. reportng之测试报告升级美化

    背景:偶然看到一个人的自动化框架的测试报告好漂亮,心痒痒,今天弄了一下午,还是不行,结果到现在就现在,我特么成功了,不为什么 Mark一下: 本地化修改 获取源码,修改reportng.propert ...

  3. jquery-实用例子

    一:jquery实现全选取消反选 3元运算:条件?真值:假值 <!DOCTYPE html> <html lang="en"> <head> & ...

  4. 安装numpy只需一步简单的方法

    因为最近在搞机器学习,涉及到python,因为我的python版本还是windoes下的2.7版本,在学习K临近算法的时候,需要安装numpy函数,下面就把自己的安装方法写下来 1:登录网址  htt ...

  5. ruby语言学习笔记2

    ruby学习笔记2  (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 r ...

  6. 使用Golang编写优化算法 (1)

    动手写点东西是学习新知识很重要的一个阶段.之前用 Python 和 JavaScript 实现优化算法,现在用 Golang 来实现.语法上略有不爽,某些C语言的思维又回来了. - Golang 用 ...

  7. 注解实现json序列化的时候自动进行数据脱敏

    https://blog.csdn.net/liufei198613/article/details/79009015

  8. 【LOJ】#2080. 「JSOI2016」病毒感染

    题解 那个限制表示一回头要治完前面的所有病人 我们处理一个g[i][j]表示治疗i到j的病人至少会死多少病人 \(g[i][j] = g[i + 1][j] + sum[i + 1,j] + min( ...

  9. 7-11Zombie's Treasure Chest uva12325

    题意  你有一个体积为N的箱子和两种数量无限的宝物  宝物1的体积为s1 价值为v1   宝物2同理 输入均为32位带符号整数 你的任务是计算最多能带走多少价值的宝物 暴力枚举: 首先明白一点     ...

  10. 【LeetCode】74. Search a 2D Matrix

    Difficulty:medium  More:[目录]LeetCode Java实现 Description Write an efficient algorithm that searches f ...