iOS 逆向编程(三)实操 Jailbreak 详细流程

简介: iOS 逆向编程(三)实操 Jailbreak 详细流程

一、使用 CheckRa1n 越狱


  • 我的手机是 iPhone 5s 版本为 ios 12.4.6


  • (推荐先看) 如果嫌麻烦,直接下面有推荐手机直接越狱文章,毕竟无论是用工具,还是低版本系统问题导致报错,操心事多。


  • 最好事先查一下自己的手机版本,以及工具是否支持这个版本或者手机型号,CheckRa1n 支持低版本,当然其他的工具也有,用之前自行了解一下,因为有的新出的工具都是支持高点系统版本。


1、下载 CheckRa1n 并安装,目前不支持 Windows 电脑操作




2、打开 CheckRa1n,连接设备后,软件会显示当前设备型号、系统以及 ECID,确认无误后点击 Start 继续。(如果提示无法打开,在 Mac 端依次打开“系统偏好设置-安全与隐私里”并信任应用,或者在设置中允许未知来源的应用)




3、Next 进入 恢复模式






4、短暂等待之后,随后设备将自动进入恢复模式,进入恢复模式后点击右下角 Start 按钮,根据指引手动进入 DFU 模式,这个每个型号手机进入 DFU 模式的按键是不一样的,所以根据右边提示,先点击 Start 按钮开始,按照步骤操作就可以,右边的提示步骤每次都会倒计时提示你怎么按按键的。




5、设备进入 DFU 模式后,工具会自动开始越狱,全程不要断开数据线连接,越狱完成后点击 Done 以结束








6、到这里 Mac 端的操作全部完成,接下来在 iOS 设备上进行以下操作,现在你的手机上就已经有了 checkra1n 这个软件了




7、打开checkra1n APP。


8、有个问题需要注意,打开 APP 的之后, Install 那一栏都是 Unble to fetch bootstraps,怎么点后面的 Retry 都没用,这是网络有问题,检查一下自己的网络。




9、下面是网络正常的情况,可以加载到 Cydia 软件。




10、安装 Cydia, 然后等着就行了,这里需要等的有点久,记住这里不要退出或者按 Home 键进入后台,就在这个安装页面等着就好了,不然会中断下载需要重新安装。


11、如果报错 the network connection was lost, 是网络不行,检查网络。




12、如果报错 The operation couldn't be completed.(kCFErrorDomainCFNetwork error 310.), 还是网络不行,检查网络。




14、网络正常之后,终于安装好了 Cydia,表示越狱成功。




15、如果重启了手机,将丢失越狱环境,需要重复以上步骤才能继续越狱,你依然还可以看到 checkra1n 这个软件,但是打开会闪退掉,所以关机或者重启了就需要重新越狱一遍。


16、iOS 逆向编程(四)实操 Jailbreak 进阶必备软件


二、其他参考文章









一、目前常用的越狱方式

  • 使用一些 第三方签名 服务
  • 使用 个人开发者证书 / 企业证书 通过 impactor 签名
  • 通过 xcode 手动签名安装


二、下载 unc0ver



三、操作方式1 ( 这里选择 xcode 安装,但还是失败)

1、通过 Xcode 创建一个新项目,我这里选择的是 Swift 项目。








2、将 Xcode 支持编译的 ios版本 调制最低版本就行了,下面的设置相当于是支持 Xcode 将 app 运行到 ios 9.0 以及以上版本 的手机




3、 项目新建成功之后,电脑连接上手机,将这里选择为USB连接的手机






4、 然后选择一下测试证书,这里需要在 Xcode 中登录你的苹果账号,如果不知道怎么操作,可以百度 Xcode 无证书真机调试








5、其实这个时候如果没有报错的话,是可以将这个 Demo App 运行到你连接的 iphone 手机上了,如果运行有报这种错误,只是语法版本低,点错误圆点 Fix 一下就好了,其他错误可以自行百度 Xcode 错误。




  • 然后再次运行,这个 Demo App 就跑到手机上了。




6、安装 Xcode 依赖,一般做 ios 开发的基本都已经存在,但是还是顺带一说,反正都说的这么详细了,打开命令行运行下面命令,若提示 xcode-select: error: command line tools are already installed, use "Software Update" to install updates 说明以及安装了,没有则进入安装


$ xcode-select --install


7、点击 Xcode,然后打开 Xcode上方的 Window - Devices and Simulators 菜单




8、在已连接区域选中你的设备,并点击 Installed Apps 下方的加号,选中刚才下载的 unc0ver_5.3.1.ipa 文件






四、操作方式2 (这种方式操作到一半发现有个问题没法解决,目前没有找到解决方式,可以找个替换 Cydia Impactor 的工具就行了,懒得去找了)

1、unc0ver 官网 下载 unc0ver.ipa


2、下载 Cydia Impactor 并安装,它适用于Windows、Linux 和 macOS,而 Altstore 只适用于 Mac 和 Windows。




3、打开 Cydia Impactor




4、将下载的 unc0ver.ipa 拖放到 Cydia Impactor 里面




5、输入你的苹果账号密码,如果你的苹果账号有开启双重验证就会报错,这里列一下 Cydia Impactor 输入密码常见报错原因 。






6、如果报错 file: provision.cpp; line: 173; what: Please sign in with an app-specific password. You can create one at appleid.apple.com. 这是因为开启了双重验证的问题,那么需要前往 https://appleid.apple.com/ 登录你的苹果账号,并获取 专用密码 。








7、获取到生成的 专用密码,按照 第4步 重新拖拽并登录输入密码,如果报错 file: lockdown.cpp; line: 57; what: LOCKDOWN_E_INVALID_HOST_ID,手机连接电脑之后选择 信任,如果没弹重新拔掉连接手机,然后在回到 第4步 一样的操作。




8、如果报错 file: provision.cpp; line: 81; what: ios/listDevices =3018 Please update to Xcode 7.3 or later to continue developing with your Apple ID.,暂时还不知道怎么解决,所以这种方式也就卡机在这里了,以后找到解决方式在更新。



相关文章
|
27天前
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
3月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
71 11
|
4月前
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
61 7
|
4月前
|
安全 测试技术 调度
iOS开发-多线程编程
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),保持对象不被释放;`weak`(弱引用),不保持对象,有助于避免循环引用;`assign`(赋值),适用于基本数据类型及非指针对象类型;`copy`(复制),复制对象而非引用,确保不变性。内存管理基于引用计数,利用自动引用计数(ARC)自动管理对象生命周期。此外,需注意避免循环引用,特别是在block中。最佳实践包括理解各策略、避免不必要的强引用、及时释放不再使用的对象、注意block中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
160 0
|
5月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。
|
5月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析:选择适合自己的编程平台
移动应用开发的两大阵营——安卓和iOS,各自拥有不同的开发环境和工具集。本文通过深入比较这两个平台的编程语言、集成开发环境(IDE)、用户界面设计、测试框架以及部署流程,旨在为开发者提供一个全面的视角来选择最符合个人或项目需求的开发环境。
|
iOS开发 编译器
|
1月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
9天前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
91 66

相关实验场景

更多