转:iOS 越狱的原理是什么
每个手机都会有手机系统,苹果也不例外。每个手机系统都基于不同的操作系统。
在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 越狱的原理是什么的更多相关文章
- iOS 应用签名原理&重签名
在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...
- 关于ios越狱开发的那些事
也许吧,每每接触某些新东西的时候,都有点犯晕吧,这不是应该要的. 第一次接触ios越狱开发,也是这样吧.这篇主要是从无到有的说一下ios越狱的开发,网上很多的教程大部门都比较旧了吧,放在新设备上总是出 ...
- iOS越狱程序开发
iOS越狱程序开发http://www.docin.com/p-760246852.html
- iOS程序启动原理---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- iOS应用启动原理图解 及ARC强弱引用
iOS应用启动原理图解(红色箭头表示strong强引用,绿色箭头代表weak若引用) 只要将UI控件拖到Storyboard里控制器的大view上,Xcode会自动将这些控件以强引用的形式加入到sel ...
- iOS Category实现原理 (补充)
iOS Category实现原理 (补充) load 和 initialize load load方法会在程序启动就会调用,当装载类信息的时候就会调用. 调用顺序看一下源代码.在 objc-loadm ...
- iOS Category实现原理
iOS Category实现原理 实现原理 我们不主动引入 Category 的头文件,Category 中的方法都会被添加进主类中.我们可以通过 - performSelector: 等方式 对 C ...
- iOS多线程编程原理及实践
摘要:iOS开发中,开发者不仅要做好iOS的内存管理,而且如果你的iOS涉及多线程,那你也必须了解iOS编程中对多线程的限制,iOS主线程的堆栈大小为1M,其它线程均为512KB,且这个限制开发者是无 ...
- iOS越狱插件源查找及避免插件劫持
1.关于 iOS越狱插件源查找地址:https://www.ios-repo-updates.com/ 2.注意 不要使用不可靠的第三方源,其可能存在劫持,而你却茫然不知. 使用上面的网站查找你需要的 ...
随机推荐
- Selenium WebDriver如何模拟复制和粘贴
以最简单的例子来说明,我们需要在bing搜索引擎中,输入并查询“Selenium自动化测试”几个字.可以很快就写出如下代码: String queryString = "Selenium自动 ...
- 抓包获取百度音乐API
这次抓包是获取手机APP中的数据包,共分为三个部分: 1.win7建立wifi 2.PC架设代理服务器 手机设置代理 3.抓包分析 一.win7建立wifi 在win7下搭建wifi非常简单,网上的教 ...
- [转]hadoop新手错误解决方法
解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题,lja ...
- linux上jdk管理
查看CentOS自带JDK是否已安装. yum list installed |grep java. 若有自带安装的JDK,卸载CentOS系统自带Java环境? yum -y remove java ...
- 网站目录下多出的 core 文件
1.core 文件简介 在一个程序崩溃时,一般会在指定目录下生成一个core文件.core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的.也就是说这种文件是程序意外中断时候生成的 deb ...
- H5地理位置定位
一:介绍使用的知识点 1.地理定位的原理 2.geolocation对象 3.Geolocation Api 4.getCurrentPosition的第一个参数 5.getCurrentPositi ...
- 重写(Override) 重载(Overload)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重载(Overload)- 参数必须不同 重载(overloadin ...
- bzoj 1455 可并堆+并查集
一个堆和一个并查集对应,并且满足并查集中所有没有死的人等于堆中的人 /************************************************************** Pr ...
- 【转载】EmptyWorkingSet 程序运行内存整清理
网络上找了很多关于内存整理的文章,不外乎都是使用EmptyWorkingSet来实现.就如下面这段代码. #include "stdafx.h"#include <windo ...
- Mac下配置Apache服务器
有的时候,我们需要在内网工作组中分享一些文件或是后台接口没有及时给出,你又想要模拟真实数据,直接在项目里创建plist也可以做到这种需求,但难免让工程变得冗余且看起来比较Low.这个时候就看出配置本地 ...