标题：planetbeing
人物介绍
最近ios6的完美越狱消息传得沸沸扬扬，发布这条消息的正是几位越狱大神中唯一一位亚洲面孔—planetbeing
曾经参与开发ios初代（ios1）越狱的planetbeing真名是Yiduo David Wang，来自俄勒冈的波特兰，是Evad3rs四人团队的一员。planetbeing(4张)
人物事件
在iOS6 GM发布之后，就有不少越狱团队第一时间尝试进行越狱。此后iOS6正式版放出，绿毒团队的领头人p0sixninja标示，iOS6的防护级别高的令人不可思议，其操作系统的严密性超过了以往任何一款OS。因此越狱的难度是前所未有的。但最后他还是放口：黑客不会被任何框架所束缚。
小插曲：去年12月，随着全球都在“欢度”世界末日的到来。越狱黑客Dream JB表示他会在12月22日放出iOS 6的完美越狱工具。但是到了22日那天，大家才发现他只是和我们开了一个末日玩笑。伴随着玩笑被戳破，众phone友们对ios越狱绝望沮丧之时，planetbeing 在推特表示自已掌握ios6完美越狱的核心，并承诺越狱会发布 但不是在今年（2012年）。
为了达成iOS6完美越狱这个任务，1月25日（大洪水退去人们下船的日子），原Dev Team成员、越狱黑客pod2g在Twitter上宣布：与红雪团队的MuscleNerd（肌肉男）、Chronic-Dev（绿毒）团队的pimskeks、planetbeing组成了一个新团队——evad3rs。（@pimskeks @planetbeing @pod2g @MuscleNerd）
随即evasi0n;com官网上线。每一天，整个团队都会向外界公布越狱的最新进度：68%、85%、91%……整个iOS6完美越狱工具的开发过程仅用了10天时间。国外许多媒体都用了这样一句话来形容他们的工作：incredible work（难以置信的工作）。
事后在ios5完美越狱中作出重大贡献的pod2g表示在此次ios6完美越狱中自己贡献绵薄之力，主要是planetbeing，承认了planetbeing的重大贡献与能力
他近日接受了福布斯的采访，为我们讲述了整个iOS6的破解历程。他指出这次破解iOS6至少了利用了5个不同的漏洞。据悉，这次他们使用的手法，比Stuxnet更黑！（Stuxnet蠕虫是摧毁伊朗和浓缩离心机设施的那个著名病毒）破解ios6过程  最初，Evad3rs使用libimobiledevice来代替iTunes，连接到电脑上。它与iTunes一样使用了相同的设备连接协议。libimobiledevice又称libiphone，是一个开源包，可以让Linux支持连接iPhone/iPod Touch等iOS设备。由于苹果官方并不支持Linux系统，但是Linux上的高手绝对不能忍受因为要连接iOS设备就换用操作系统这个事儿。因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议，最终成就了横跨三大桌面平台的非官方版本USB接口library。经常用Linux系统的人一定对libimobiledevice不陌生，但是许多Windows和Mac用户也许就不知道了。事实上，它同iTools一样，都是可以替代iTunes，进行iOS设备管理的工具。因为源码是开放的，可以自行编译，所以对很多开发者而言可以说更为实用。
话说回来Evasi0n利用了iOS系统的一个备份bug获得了几项原来无权访问的设置。如，设置设备时区的权限。正是拿到了这个时区设置文件的权限，Evasi0n在该文件中可以插入一条，Symbolic Link符号连接（又称软连接）。这样就将操作系统中的访问求情转移到了其他指定的位置，由此也就能将越狱程序通过Symbolic Link连接到时区设置文件上。
感谢Symbolic Link这个好东西
Symbolic Link相当于Win下的"快捷方式"。Unix文件系统提供了一种将不同文件链接至同一个文件的机制，我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本，系统简单地通过在目录中建立一个新的登记项来实现这种连接。软连接有自己的inode，并在磁盘上有一小片空间存放路径名。因此，软链接能够跨文件系统，也可以和目录链接。另外，软链接可以对一个不存在的文件名进行链接，但直到这个名字对应的文件被创建后，才能打开其链接。
David Wang 把它比喻成“莫斯科红色专线”。通过Symbolic Link，可以将连接转到某个特定的socket中，让不同程序之间可以互通信息。整个iOS系统中的Launch Daemon后台进程的启动程序都存放在"/System/Library/LaunchDaemon"目录下, 就是那些".plist"文件。这些程序会在设备启动时率先启动，所以他们具备root权限，可以启动其他应用。Evasi0n修改了Launch Daemon的socket，这就意味着，当iOS设备进行备份时，就会自动的让所有程序和文件都能访问时区设置文件，感谢Symbolic Link这个好东西，让所有程序可以连接Launch Daemon。
这里需要提一句为什么苹果的启动服务叫做“Launch Daemon”？从Mac OS 10.4开始，苹果就采用Launch来管理整个操作系统的services和processes了。传统的Unix会使用“/etc/rc.*”或者其他机制来管理要启动的startup services，而此后在Mac OS X则使用Launch来管理，其startup services被叫做Launch Daemon和Launch Agents。前者是开机时载入，而后者是用户登录时载入的。
如何绕过Code-signing
在iOS中，还有另一个安全保障——Code-signing。它能够阻止流氓应用访问Launch。在iOS设备上运行的代码都需要通过苹果的审核，并附带上有效的签名。一般开发者开发的程序，在正式发布到App Store之前是需要使用苹果颁发的证书进行签名的之后，再由苹果进行审核。审核成功之后，苹果也会对程序进行一次签名。当iPhone或者iPod Touch从AppStore下载安装程序的时候会调用系统进程INSTALLD（mobileinstalltion）对应用程序进行证书校验。所以一般需要安装破解软件时，都需要把此文件替换成破解版本。  
如果你的MobileInstalltion没有破解的话，那么在安装或者运行程序的时候需要对你的数字证书进行检测，如果发现没有签名或者签名不对，就会自动kill掉程序。那么在这种情形下，我们可以伪造签名（当然无法通过AppStore的审核）， 骗过MobileInstalltion ，使得可以正常使用。
Evasi0n构建了一枚没有代码的应用，当用户点击这个应用的时候，它就会利用Unix的“Shebang”命令，调用一个已经签名的应用代码，通过Code-signing的审查。此后，它就可以再调用上文提到的Launch执行root级的命令了。Evad3rs要通过这种方式，来对RFS（root文件系统）的只读权限使用“remount”命令变为可写。这就是为什么，我们在越狱时，要运行一次下面这个LOGO的应用。
什么是Shebang
在计算机科学中，Shebang（也称为Hashbang）是一个由井号和叹号构成的字符串行(#!)，其出现在文本文件的第一行的前两个字符。 在文件中存在Shebang的情况下，类Unix操作系统的程序载入器会分析Shebang后的内容，将这些内容作为解释器指令，并调用该指令，并将载有Shebang的文件路径作为该解释器的参数。Shebang这一语法特性由#!开头，即井号和叹号。 在开头字符之后，可以有一个或数个空白字符，后接解释器的绝对路径，用于调用解释器。 在直接调用脚本时，调用者会利用Shebang提供的信息调用相应的解释器，从而使得脚本文件的调用方式与普通的可执行文件类似。
修改launchd.conf文件
现在RFS已经可写了，Evasi0n接下来就是先修改launchd.conf文件，当修改了launch配置文件之后，前面的工作就可以保存下来了。这样每次iOS设备重启的时候，就不必再连上USB进行越狱操作了。之前，很多iOS系统不完美越狱就是因为没有拿到修改launchd.conf的权限。造成每次重新开机都要再越狱一次，很麻烦。
破解AMFID防护机制
对于黑客来说，没有夺取到kernel（内核）权限，都不算作真正把系统征服。在iOS的系统内核中，还有一层叫做AMFID（Apple Mobile File Integrity Daemon）的防护机制，它是用来监测移动文件完整性的守护进程。AMFID会校验代码签名，防止流氓程序运行。Evasi0n利用launchd.conf文件，为AMFID加载一个library，让每次AMFID在做校验的时候，都会返回一个“approved”的肯定回答。David Wang在福布斯记者的采访中，并没有给出具体的破解方法，只是留下一句话：苹果自己应该明白这一点。
异常向量，萃取内核地址
除了内核级的应用签名之外，苹果为了防止黑客在内核级的内存中随意修改，iOS还有最后一道那就是ASLR（Address Space Layout Randomization）随机地址空间布局。当系统加载时，ASLR都会将他们随机分配到内存的不同位置，防止某些内容总是存储在内存的特定部分，让黑客有规律可寻。
聪明的Evad3rs团队，使用了ARM exception vector（异常处理向量）。exception vector其实经常会用到，处理器异常、出错时（其实不完全是出错），它就会抓来这个vector找相应的处理函数。例如，遇到看不懂的指令，它就会抓0x4地址指令。也就是“ldr pc, _undefined_instruction”，接着就会跳到undefined instruction的函数去处理。当程序出现异常时，ARM异常向量就会给出崩溃的内存地址，黑客拿到足够多的信息，就可以找到内核在内存的分布范围，这样整个内核的内容也就被抓到了。
夺取内核控制权
搞定ASLR之后，Evad3rs利用iOS连接USB的一个漏洞，把内核内存的某个地址传给一个应用，而应用返回来的内容就可以用来改写这部分内存地址。由此Evad3rs就可以修改内核任何部分的内容了。据Wang所说，当你拿到了内核的权限时，整个系统就没有任何“安全机制”能阻止我们了，我们赢了！
2013-2-7 最新更新：
Pod2g在Twitter上称，evasi0n网站目前独立IP访问量超过500万，PV突破了4000万，而在整个用户群中，中国用户的数量最大。有近300万的中国用户访问了evasi0n网站，占总访问量的20.12%。美国用户比例为16.88%，将近250万用户。其次是法国、德国、意大利、英国、俄罗斯等地区的用户。[1]