01-iOS逆向学习必要条件

设备要求

一台完美越狱的iOS设备。

  • iPhone:建议是iPhone 5s以上(支持arm64架构)
  • iPad:建议是iPad Air、iPad mini2等(支持arm64架构)。

系统要求

iOS 8以上

判断系统是否能完美越狱

建议使用PP助手官网:http://jailbreak.25pp.com/ios

什么是iOS越狱

越狱,英文Jailbreak,指利用iOS系统的漏洞,获取iOS系统的Root权限,解开之前的各种限制。

完美越狱与不完美越狱
  • 完美越狱:
    越狱后的iPhone可以正常关机和重启。
  • 不完美越狱:
    iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用。
    一般说来,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布;一般较新的系统版本,均为不完美越狱。
越狱的优点
  • 自由安装各种实用的插件、主题、APP,如微信抢红包插件等;
  • 获取手机Root权限后可以修改系统APP的一些默认行为,如去除广告等;
  • 自由安装非AppSore来源的APP,同时能将付费APP破解为免费APP;
  • 灵活管理文件系统,让iPhone可以像U盘那样灵活;
  • 对开发者最重要的一点:提供了逆向工程的环境。
越狱的缺点
  • 不予保修;
  • 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%~20%;
  • 在新的iOS固件版本出来的时候,不能及时地进行更新;
    每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效
    如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本;
  • 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险;
  • 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现“白苹果”等问题。
如何判断设备手否成功越狱
  • 简单判断:桌面是否有Cydia应用。
  • 手机助手:如PP助手:


    01-iOS逆向学习必要条件_第1张图片
    image.png
  • 代码判断:如判断是否增加了某些文件
- (BOOL)isJailbreak {
    //判断是否存在以下文件,只要有存在的,就可以认为手机已经越狱了
    NSArray *jailbreakToolPaths = @[
                                     @"/Applications/Cydia.app",
                                     @"/Library/MobileSubstrate/MobileSubstrate.dylib",
                                     @"/bin/bash",
                                     @"/usr/sbin/sshd",
                                     @"/etc/apt"
                                     ];
    for (NSString *item in jailbreakToolPaths) {
        if ([[NSFileManager defaultManager] fileExistsAtPath:item]) {
            return YES;
        }
    }
    
    return NO;
   
}

你可能感兴趣的:(01-iOS逆向学习必要条件)