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

    一.首先下载maven插件并配置maven的环境变量,可参考:http://jingyan.baidu.com/article/cb5d61050b8ee7005d2fe04e.html 二.打开ec ...

  2. 在内部局域网内搭建HTTPs

    在内部局域网内搭建HTTPs 配置环境 Windows版本:Windows Server 2008 R2 Standard Service Pack 1 系统类型:       64 位操作系统 内存 ...

  3. 记一些使用PyQt的问题

    本文自用,日常记录,不断更新 环境 1.使用 PyCharm IDE 2.PyQt5 3. 扩展配置 PyUIC转换后的代码处理 PyUIC 用于 将 QtDesigner 生成的 .ui 文件转换为 ...

  4. linux 安装redis4.0

    1.安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 1 2 3 4 5 6 7 8 9 ...

  5. 008.FTP单独虚拟用户

    一 单独虚拟用户概念 给每个虚拟用户单独建立目录,并建立自己的配置文件,方便单独配置权限,并可以单独制定上传目录. 二 单独为虚拟用户设置权限 2.1 创建用户单独保存虚拟用户配置文件的目录 [roo ...

  6. Qt5编译oracle驱动教程

    我们都知道oracle数据库的强大,并且好多企业或者教学用到数据库时都会推荐使用.但是Qt因为版权问题没有封装oracle数据库专用驱动,网上也有一大堆说法和教程,但是或多或少的都有问题.下面废话不多 ...

  7. 命令行fuck神器

     文章 thefuck  git thefuck

  8. Redis介绍及部署在CentOS7上(一)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  9. JAVA JMX协议监控

    JMX协议监控,可通过JMX协议远程监控,实时监控线上jvm情况,并通过平台管理界面进行 展示,可以通过监控实时获得线上服务器运行情况. 可以监控内存.实时线程.共享内存等各种信息. 获取实时线程信息 ...

  10. Ubuntu 18.04 更新源

    [原因] 使用国外的源,在更新软件的时候会很慢,换成国内的源会快很多. [命令] 1.备份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list ...