转: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.注意 不要使用不可靠的第三方源,其可能存在劫持,而你却茫然不知. 使用上面的网站查找你需要的 ...
随机推荐
- contos 7创建阿里云镜像源
今天在ESC上安装mariaDB,发现centOS 7默认的yum源上的mariaDB版本过低,然后又镜像到网易上,发现网易源上没有mariaDB,几经折腾才发现阿里镜像上mariaDB版本较新.更改 ...
- LeetCode(20):有效的括号
Easy! 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭 ...
- java 编译与运行
javac 编译 .java文件 javac file.java //将file.java 编译为 file.classjavac -d folder file.java //将file.java ...
- python强大的数据类型转换
# 原始的二维表数据集 jsonObj=[] # 添加模拟的数据 for i in range(1001,1004): for j in range(1,34): jsonObj.append({&q ...
- ***Bootstrap FileInput插件的使用经验汇总
插件下载地址: https://github.com/kartik-v/bootstrap-fileinput/ 官方DEMO查看: http://plugins.krajee.com/file-ba ...
- 配置kotlin自带的编译器,并使用kotlinc、kotlin命令
Kotlin是一种静态类型的编程语言,可在Java虚拟机上运行,也可以编译为JavaScript源代码. 其主要发展来自位于俄罗斯圣彼得堡的JetBrains程序员团队. 虽然语法与Java不兼容,但 ...
- Net Web Api Route
Asp.Net Web Api Route 在目前的主流架构中,我们越来越多的看到web Api的存在,小巧,灵活,基于Http协议,使它在越来越多的微服务项目或者移动项目充当很好的service ...
- Matlab保存uint16格式文件的相关注意事项
在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算.在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型.如果 ...
- InvokeRepeating重复定时器
JS // Starting in 2 seconds.// a projectile will be launched every 0.3 secondsvar projectile : Rigid ...
- 牛客OI赛制测试赛3游记
A - 数字权重 题目大意: 一个\(n\)位的数字.设第\(i\)位的数为\(a_i\),其中\(a_1\)为最高位,\(a_n\)为最低位,\(k\)为给定的数字.求同时满足满足以下两个条件的数的 ...