iOS 逆向编程(二)越狱入门知识

简介: iOS 逆向编程(二)越狱入门知识

一、 什么是 iOS Jailbreak

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

二、Jailbreak 的优缺点:

  • 优点
* 打造个性化、与众不同的 iPhone
* 自由安装各种实用的插件、主题、APP
* 修改系统 APP 的一些默认行为
* 自由安装非 AppSore 来源的 APP
* “付费APP” 秒变 "免费APP”
* 灵活管理文件系统,让iPhone可以像U盘那样灵活
* 给开发者提供了逆向工程的环境
* 未越狱 iPhone 安装 APP 的途径:
    * AppStore
    * 真机调试
    * 通过证书打包签名ipa安装
  • 缺点
* 不予保修
* 费电,越狱后的 iOS 系统会常驻一些进程,耗电速度约提升 10%~20%
* 在新的 iOS 固件版本出来的时候,不能及时地进行更新
* 每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效
* 如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本
* 不再受 iOS 系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险
* 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现 "白苹果" 等问题
* "白苹果" 就是手机一直卡在进入系统页面,百度解决方案很多。
  • "白苹果" 状态,会一直卡在这个页面

三、完美越狱不完美越狱

  • 完美越狱
  • 越狱后的 iPhone 可以正常关机和重启
  • 不完美越狱
  • 越狱后的 iPhone 不可以正常关机和重启
  • (意外情况) iPhone 一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态
  • (意外情况) 或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用。
  • 一般说来,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布。
  • 一般较新的系统版本,均为不完美越狱

四、如何判断是否越狱成功

  • 桌面是否有 CydiaSileo 这个软件,如果有就是越狱成功了。
  • 或者通过爱思助手或者其他助手软件查看 是否越狱:是 这一项。
  • 当然也可以通过代码进行判断是否越狱,后续文章会写到。

五、CydiaSileo 是什么?

  • CydiaSileo 就是越狱后的 App Store
  • 可以在 CydiaSileo 中安装各种第三方的软件 (插件、补丁、APP )。
  • 通过 Odyssey 越狱后会出现 Sileo 越狱商店,而 unc0ver 越狱后会出现 Cydia 商店。
  • Cydia 安装包介绍
    ■ 通常情况下
    通过 Cydia 安装的安装包是 deb 格式的 (结合软件包管理工具 apt)
    通过 正常的助手工具 安装的安装包是 ipa 格式的
    ■ 如果通过 Cydia 源安装 deb 失败
    可以先从网上下载 deb 格式的安装包,进行离线手动安装

六、越狱工具:



相关文章
|
28天前
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
2月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
96 7
|
3月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
71 11
|
4月前
|
开发工具 C语言 Swift
探索iOS开发之旅:从入门到精通
【8月更文挑战第30天】在这篇文章中,我们将一起踏上一场关于iOS开发的奇妙旅程。无论你是刚刚接触iOS开发的新手,还是希望提升自己技能的开发者,这篇文章都将为你提供有价值的指导和启示。我们将从基础的iOS开发概念开始,逐步深入到高级技巧和最佳实践。通过这篇文章,你将了解到如何构建一个成功的iOS应用程序,以及如何不断提升自己的开发技能。让我们一起开启这场探索之旅吧!
67 4
|
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中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
|
5月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。
|
5月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析:选择适合自己的编程平台
移动应用开发的两大阵营——安卓和iOS,各自拥有不同的开发环境和工具集。本文通过深入比较这两个平台的编程语言、集成开发环境(IDE)、用户界面设计、测试框架以及部署流程,旨在为开发者提供一个全面的视角来选择最符合个人或项目需求的开发环境。
|
iOS开发 编译器
|
1月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。