美文网首页
2.越狱环境搭建

2.越狱环境搭建

作者: 飘摇的水草 | 来源:发表于2022-12-12 21:32 被阅读0次
    学习条件
    1. 至少一年iOS开发经验

    2. 调试设备

      • 建议至少iPhone 5S(因为从5S开始支持arm64架构)
      • 或者至少是iPad Air、iPad mini2等支持arm64架构的设备
    3. iOS 9.1完美越狱

      • 建议至少iOS 8完美越狱
      • 版本也不能太高,要保证能够完美越狱
      • 检查手机是否可以越狱:http://jailbreak.25pp.com/ios(已不存在)
    iOS Jailbreak(iOS越狱)
    什么是iOS Jailbreak?

    利用iOS系统的漏洞,获取iOS系统的最高权限(Root),解开之前的各种限制(合法行为)

    iOS Jailbreak的优点
    • 打造个性化、与众不同的iPhone

      • 自由安装各种实用的插件、主题、APP
      • 修改系统APP的一些默认行为
    • 自由安装非AppSore来源的APP

      • “付费APP”秒变“免费APP”(有各种插件)
    • 未越狱iPhone安装APP的途径

      • AppStore
      • 真机调试
      • 通过证书打包签名ipa安装
    • 灵活管理文件系统,让iPhone可以像U盘那样灵活

    • 给开发者提供了逆向工程的环境(学习其他app的开发模式)

    iOS Jailbreak的缺点
    • 不予保修
    • 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%~20%
    • 在新的iOS固件版本出来的时候,不能及时地进行更新
      • 每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效
      • 如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本
    • 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险
    • 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现“白苹果”等问题
    完美越狱和不完美越狱
    • 完美越狱
      越狱后的iPhone可以正常关机和重启

    • 不完美越狱
      iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态
      或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用

    • 一般来说,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布

    • 一般较新的系统版本,均为不完美越狱

    • 越狱方法推荐
      PP助手

    如何判断是否越狱成功?
    • 桌面是否有Cydia
      如果有,代表越狱成功

    • 工具判断(比如PP助手)
      会有文字提示是否越狱

    Cydia
    • 越狱后的 “App Store”
      可以在Cydia中安装各种第三方的软件(插件、补丁、APP)

    • 作者
      Jay Freeman(saurik)

    • Cydia安装软件的步骤1
      添加软件源(不同软件的软件源可能不同),方式是点击“Cydia”中的软件源,然后点击“编辑”,再点击“添加”,会让输入软件源地址
      添加源成功以后,可以看到源里面的软件列表,点击其中一个就可以安装了

    • SpringBoard
      有时候通过Cydia安装完插件后,可能会提示重启SpingBoard,SpringBoard就是iOS的桌面

    常用软件安装
    Apple File Conduit “2”
    AppSync Unified
    • 该补丁作用
      可以绕过系统验证,随意安装、运行破解的ipa安装包

    • 软件源
      http://apt.25pp.com

    iFile
    PP助手
    Mac必备
    • iFunBox
      管理文件系统

    • PP助手
      自由安装少量APP
      卸载APP
      备份APP为ipa安装包(从iOS9开始,不再支持备份APP)

    建议的安装顺序

    iPhone -> Cydia -> (Apple File Conduit "2" 和 AppSync Unified) -> iFile 和 PP助手
    Mac -> iFunBox 和 PP助手

    安装包
    • 通常情况下,通过Cydia安装的包都是deb格式的,结合软件包管理工具apt
    • 通过PP助手安装的包的格式是ipa的
    • 如果通过Cydia源安装deb失败,可以先从网上下载deb格式的安装包,然后将deb安装包放到 /var/root/Media/Cydia/AutoInstall,重启手机,Cydia就会自动安装deb
    代码判断设备是否越狱
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        //通过判断是否存在Cydia.app来判断是否安装越狱,不同的系统路径可能不一样
        if ([[NSFileManager defaultManager]fileExistsAtPath:@"/Applications/Cydia.app"])
        {
            NSLog(@"此设备已越狱");
        }
        else
        {
            NSLog(@"此设备未越狱");
        }
    }
    
    提高工作效率的工具
    • Alfred
      便捷搜索
      工作流

    • XtraFinder
      增强型Finder

    • iTerm2
      完爆Terminal的命令行工具

    • Go2Shell
      从Finder快速定位到命令行工具

    Mac远程登录到iPhone
    • 我们经常在Mac的终端上,通过敲一些命令行来完成一些操作,iOS和Mac OS X都是基于Darwin(苹果的一个基于Unix的开源系统内核),所以iOS中同样支持终端的命令行操作
      在逆向工程中,我们经常会通过命令行来操纵iPhone
    • 为了能够让Mac终端中的命令能作用在iPhone上,我们得让Mac和iPhone建立连接
      通过Mac远程登录到iPhone的方式建立连接
    SSH
    • Secure Shell的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议
    • 使用SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗
    OpenSSH
    • 是SSH协议的免费开源实现
    • 可以通过OpenSSH的方式让Mac远程登录到iPhone
    使用OpenSSH远程登录
    • iPhone上通过Cydia安装OpenSSH工具(软件源http://apt.saurik.com
    • OpenSSH的具体使用步骤可以查看Description
    • SSH是通过TCP进行通信,所以要确保Mac和iPhone在同一局域网下,比如连接着同一个WiFi
      • 在Mac的终端输入 ssh 账户名@服务器主机地址,服务器主机地址即手机的IP地址,比如输入 ssh root@10.1.1.193 来登录
      • 初始密码为 alpine
    • 登录成功后就可以使用终端命令行操作iPhone
    • 退出登录命令是 exit
    root、mobile
    • iOS下有两个常用账户:root、mobile
      • root:最高权限账户,$HOME(用户文件夹)是 /var/root
      • mobile:普通权限账户,只能操作一些普通文件,不能操作系统级别的文件,$HOME是 /var/mobile
    • 最好修改一下root和mobile用户的登录密码(登录 root 账户后,分别通过 passwd、pwsswd mobile 完成)
    SSL、OpenSSL
    • 很多人会将SSH、OpenSSH、SSL、OpenSSL搞混
    • SSL
      • Secure Socket Layer的缩写,是为网络通信提供安全及数据完整性的一种协议,在传输层对网络连接进行加密
    • OpenSSL
      • SSL的开源实现
      • 绝大部分HTTS请求等价于:HTTP + OpenSSL
    • OpenSSL的加密就是通过OpenSSL完成的
    SSH安全连接
    • SSH协议一共两个版本

      • SSH-1
      • SSH-2
    • 现在用的比较鑫的是SSH-2,客户端和服务端版本要保持一致才能通信

    • 查看SSH版本(查看配置文件的Protocol字段)

      • 客户端:/etc/ssh/ssh_config
      • 服务器:/etc/ssh/sshd_config
    SSH的通信过程
    • SSH的通信过程可以分为3大主要阶段

      • 建立安全连接
      • 客户端认证
      • 数据传输
    • 建立安全连接的过程中,服务器会提供自己的身份证明

    相关文章

      网友评论

          本文标题:2.越狱环境搭建

          本文链接:https://www.haomeiwen.com/subject/gxaqqdtx.html