Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apple 老设备(系统)精简记录

Apple 老设备(系统)精简记录

作者头像
soulteary
发布于 2022-05-17 04:03:12
发布于 2022-05-17 04:03:12
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

为了打造 HomeLab 桌面监控和个人消息推送终端,我偶然入手了一台发布于十年前的老设备(iPad2)。为了能够更方便的使用这台设备,需要对这台设备进行一些特殊操作,比如系统降级、系统运行服务精简。

本篇内容,将作为监控终端打造的前篇,先聊聊如何对这台老设备进行系统精简。

写在前面

这台设备的最终效果图类似下面这样。

http://mpvideo.qpic.cn/0bc3fyab4aaaveaam63a5zrfalwddyxaahqa.f10003.mp4?dis_k=6b73e44bbd2cfe6f5769ea6866f55a4e&dis_t=1652760133&vid=wxv_2363450576543367169&format_id=10003&support_redirect=0&mmversion=false

接近完成的效果图

出于方便后续进行系统降级和持久化越狱,来安装或运行自定义程序,我推荐使用搭载了“过时的” 32 位芯片的苹果设备,比如:iPad 2~4、iPad Mini 1、iPhone 3GS~5。这些设备在二手市场中供应充足,因为一般场景的使用价值不高,所以价格相对便宜。由于过去十年设备迭代速度非常快,许多机器硬件甚至还处于比较新的状态。

第一步:进行系统升级

为了确保后续使用稳定,建议退出设备的 Apple 账号,并对老设备进行系统还原。当然,由于 Apple 已经放弃针对这类 32 位芯片的设备的系统升级和维护,所以我们也可以直接将系统通过 MacOS 直接升级或使用恢复模式切换到 9.3.5 这个老设备能够使用的最高的系统版本。

操作方式很简单,将设备调整为恢复模式,或者在正常模式下连接电脑,在 Finder 中选择升级设备即可。

连接电脑后,对设备进行升级

等待设备完成系统升级之后,就可以看到久违的 iOS 9 系统界面啦。

久违的 iOS 9 系统界面

这时如果使用 “爱思” 之类的工具,可以看到设备的信息概览。

iPad2 设备系统基础信息

可以看到我手上这台设备,虽然出生于 2011 年,距今已有一个生肖轮回,但其实使用次数并不算多。

如果你只需要一台 7x24 小时能够用来展示网页程序的屏幕,那么到这步或许已经足够了,虽然在这台设备上运行网页会感觉到明显的卡顿

但是,我的目标显然不仅于此,我希望能够在这台设备上运行一些后台程序,并且设备要足够的流畅,这也能够避免进程被系统杀灭(程序闪退的一部分原因)。

虽然在 iOS 9.3.5 系统上,我们也能够进行设备越狱,并运行一些后台程序,但由于这个版本的 iOS 并不支持完美越狱,我们的越狱程序的有效期仅存在于每次运行越狱程序后到设备重启之前。并且,由于 iOS 9 之后 Apple 应用程序签名的有效期变的更短了,如果我们的设备在运行一周之后因为一些事情重启,上面的签名和安装流程还需要再来一遍,这未免太麻烦了

为了使用上更简单,需要考虑对设备进行“系统降级”。

第二步:准备系统降级

关于这类设备的系统降级,需要先使用一个闭源的软件完成“临时性越狱” https://phoenixpwn.com/ 。

访问 Phoenix 项目页面,下载包含 32 位芯片设备漏洞的 IPA 程序,然后使用个人账号对应用进行签名,这里对软件的签名方案不唯一,我列举三种:

•可以使用 Cydia Impactor•可以使用 Sideloadly•还可以使用被集成在“爱思”这类刷机工具里的签名工具

这里选择哪款工具都无所谓,因为这个工具,我们只需要使用一次

对软件完成签名后(使用个人或临时注册的 Apple ID 签名即可),我们将其安装到设备中,会出现一个画着凤凰的图标。

在设备中安装已经完成签名的 Phoenix

虽然签名后的软件能够被安装到设备中,但是此时软件的签名证书因为未被系统信任,所以软件并不能被直接运行,还需要我们进行一些额外的操作。

对我们自签名的应用选择信任

在系统设置中的“通用”菜单中选择“设备管理”,能够看到我们签名“Phoenix”所使用的 Apple ID 账号。点击这个账号,会进入新的界面,在新的界面中选择信任这个应用。

然后打开“Phoenix”,一路“下一步”,就能完成设备的“越狱”啦。

设备在越狱过程中会自动重启(Spring Board 重载),当重启完毕后,桌面如果出现了 Cydia 的图标,那么说明越狱成功,可以进行下一步操作了。如果没有出现 Cydia 的应用图标,那么需要再运行一遍“Phoenix”。

完成了设备的“临时越狱”之后,就可以进行系统降级操作啦。

第三步:开始系统降级

系统降级操作,推荐使用这个开源项目 https://github.com/LukeZGD/iOS-OTA-Downgrader ,能够简化流程。

我们可以选择的系统降级方案有两种:将设备降级到 8.4.1 或者降级到 6.1.3 。

如果只计划在老设备上跑后台任务,那么降级到 iOS 6.1.3 就可以了,搭配系统应用和服务精简,我们可以获得 200MB 以上的可用内存;但如果考虑长期使用网页程序,iOS 8.4.1 会是一个更合适的选择。

想要完成系统降级,我们需要做几件事:

1.在 Cydia 中添加软件源 https://lukezgd.github.io/repo/,然后完成安装 opensshdropbear。2.将平板和电脑使用数据线连接好。3.下载https://github.com/LukeZGD/iOS-OTA-Downgrader项目,然后执行 restore.sh 脚本,选择设备降级,你想降级的系统版本,然后同样是“一路 Next”,接着等着设备完成自动安装即可。

一切完毕之后,“新系统”的欢迎界面会展示在你的面前。

不同版本的 iOS 欢迎界面

如果你纠结选择哪个版本,可以考虑都降级一遍,对于 A5 芯片的设备来说,可以无限次的进行刷机降级、甚至是在一台设备上完成多版本系统的安装。只需要重复本文提到的第一步到第三步的操作即可。

第四步:开始系统精简

iOS 中有许多内置的程序,在 https://www.theiphonewiki.com/wiki//Applications 中,有一些针对这些服务的描述,如果你好奇这些程序是什么的话,可以自行浏览。

针对文章开头提到的桌面监控、个人消息推送场景,我清理掉了除了 AppStore、消息、设置、Safari 之外的所有程序,下面的脚本供你参考:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /Applications/
rm -rf Camera.app/ FaceTime.app/ FacebookAccountMigrationDialog.app/ Family.app/ Feedback\ Assistant\ iOS.app/ Game\ Center.app/ GameCenterUIService.app/ GameController.app/ MailCompositionService.app/ Maps.app/ MobileCal.app/ MobileNotes.app/ MobileStore.app/ MobileSlideShow.app/ Music.app/ MusicUIService.app/ Photo\ Booth.app/ PhotosViewService.app/ Podcasts.app/ Print\ Center.app/ PrintStatus.app/ Reminders.app/ SLGoogleAuth.app/ MobileMail.app/ TencentWeiboAccountMigrationDialog.app/ Tips.app/ Videos.app/ iBooks.app/ iAdOptOut.app/ MobileTimer.app/ iPodOut.app/ AdSheet.app/ SocialUIService.app/ FieldTest.app/ iOS\ Diagnostics.app/ quicklookd.app/ DemoApp.app/

cd /Library/Application\ Support/
rm -rf AdSheet/ Mail/

cd /System/Library/AccessibilityBundles/
rm -rf AdSheet.axbundle Calculator.axbundle Camera.axbundle CameraKit.axbundle Compass.axbundle CompassViewCalibrationService.axbundle FaceTime.axbundle FacebookSettings.axbundle Fitness.axbundle FitnessUI.axbundle Game\ Center.axbundle/ GameCenterPrivateUIFramework.axbundle GameCenterUIFramework.axbundle GameCenterUIService.axbundle GameKitFramework.axbundle Health.axbundle HealthKitUI.axbundle Image-QuickLook.axbundle InCallService.axbundle IncomingCall.axbundle
rm -rf MapKitFramework.axbundle Maps.axbundle MobileCal.axbundle MobileMail.axbundle MobileMailSettings.axbundle MobileNotes.axbundle MobilePhone.axbundle MobileTimer.axbundle MobileTimerFramework.axbundle Movie-QuickLook.axbundle Music.axbundle MusicLibrary.axbundle MusicSettings.axbundle MusicUI.axbundle Nike.axbundle
rm -rf PassKitFramework.axbundle Photo\ Booth.axbundle/ PhotoLibraryFramework.axbundle PhotoLibraryServices.axbundle PhotosFramework.axbundle PhotosUIFramework.axbundle PictureFramePlugin.axbundle Podcasts.axbundle PublishToMobileMe.axbundle PublishToYouTube.axbundle QuickLook.axbundle QuickSpeak.bundle QuickTime\ Plugin.axbundle/ RadarCompose.axbundle Reminders.axbundle RemindersWidget.axbundle SiriUI.axbundle SiriViewService.axbundle Siriland.axbundle SocialFramework.axbundle SocialUIService.axbundle SocialWeeApp.axbundle SpeakThis.axuiservice SportsTrainerFramework.axbundle Stocks\ WatchKit\ Extension.axbundle/ Stocks.axbundle StocksFramework.axbundle StocksWeeApp.axbundle Tips.axbundle TwitterFramework.axbundle TwitterSettings.axbundle VoiceMemos.axbundle VoiceMemosFramework.axbundle VoiceOver.axuiservice VoiceOverTouch.axbundle Weather\ WatchKit\ Extension.axbundle/ Weather.axbundle WeatherFramework.axbundle WeatherNotifications.axbundle iAdFramework.axbundle iBooks.axbundle iPodUI.axbundle iTunesStoreFramework.axbundle iTunesStoreUIFramework.axbundle

cd /System/Library/BulletinBoardPlugins
rm -rf PhotoLibraryDataProvider.bundle/ SocialBulletinBoardProvider.bundle/ WeatherNotifications.bundle/ CalendarProvider.bundle/

cd /System/Library/PreferenceBundles/
rm -rf CarKitSettings.bundle FacebookSettings.bundle FlickrSettings.bundle GameCenterSettings.bundle MapsSettings.bundle MobileSlideShowSettings.bundle MusicSettings.bundle  NewsstandSettings.bundle NotesSettings.bundle RemindersSettings.bundle TencentWeiboSettings.bundle TwitterSettings.bundle VideoSettings.bundle VimeoSettings.bundle WeiboSettings.bundle

cd /System/Library/PrivateFrameworks/
rm -rf CarKit.framework HomeKitDaemon.framework MusicLibrary.framework iTunesStore.framework MapsSupport.framework MediaRemote.framework/ FamilyNotification.framework HomeSharing.framework GeoServices.framework CallHistory.framework

cd /System/Library/LaunchDaemons
rm -rf /System/Library/Frameworks/HealthKit.framework

当上面的脚本都执行完毕之后,重启设备,除了能看到桌面的系统图标少了之外,我们也能够直观的感受到系统不再卡顿,甚至打开网页的速度都变快了。

最后

关于 Apple 老设备(系统)精简就先聊到这里,下一篇内容中,我们将展开聊聊本篇文章中提到的 “桌面监控” 和 “消息推送”。

--EOF

本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: 苏洋

创建时间: 2022年04月20日 统计字数: 6592字 阅读时间: 14分钟阅读 本文链接: https://soulteary.com/2022/04/20/apple-old-device-system-compact-record.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 折腾技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在越狱的iPhone/iPad上安装自开发环境
自开发跟自编译意思一样,后者表示一个开发语言的开发能力成熟度;前者则表示一个开发平台的开发能力成熟度。 iPhone跟iPad面世这么多年,一直无法摆脱“娱乐”工具的宿命。Apple曾经希望通过iPad Pro为平台增添“生产力工具”的特征,但看起来成效不大。 而竞争对手的Surface Pro,虽然娱乐性不足,但没有人否认Surface Pro是一个优良的生产力工具。 在实用上,iPad跟Surface在于对文化创意类“生产力”的支持都不错。但是在其它方面,特别是软件开发之类的支持,iOS差的实在太多。 如果你有一台尚可越狱的iOS设备,那么通过社区的支持,这种情况可以有所缓解。虽然依然离“生产力”的要求差的比较远,但一些必要的基础性工作已经有很高的可用度了。
俺踏月色而来
2018/08/31
3.2K0
在越狱的iPhone/iPad上安装自开发环境
iOS 逆向工具:逆向做的好,码农下班早丨音视频工具
App 逆向工程是做竞品分析的常用方法,常言道『逆向做的好,码农下班早』,懂的都懂。这里我们对 iOS 逆向做一下简单介绍,这里面会涉及如下工具:
关键帧
2022/06/13
1.3K0
iOS 逆向工具:逆向做的好,码农下班早丨音视频工具
IOS脱壳+反编译
拷贝 dumpdecrypted.dylib 这个之前编译签名好的文件到iPhone 上面该 APP 的 Documents 目录有两种方法.
小小咸鱼YwY
2022/05/09
2.4K0
偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
Intro 虽然“只有偏执狂才能够生存”这句话已经被假药停给毁了,但是作为一只有逼格的高大上的iOS逆向分析研究员,难道如果有现成的macOS/iOS全版本镜像可以下载并且无限“漫游”,难道你就不想来一套么? 在本文中,你将能够获得的是: 1.macOS:10.12、10.11、10.10、10.9、10.8、10.7:六个版本的虚拟机一键安装; 2 .使用苹果的KDK套件(Kernel Develop Kit)对虚拟机里的macOS Sierra 10.12进行内核调试; 3 .iPhone 4s
FB客服
2018/02/27
3K0
偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
ios重签名教程
我们遇到android app现在加固限制可能有很高的分析难度,不容易进行抓包,我们可以用ios的包脱壳然后进行分析会相对容易些,这篇文章主要讲了如何给ios设备越狱、给ios应用程序脱壳重签名,脱壳之后就可以进行分析代码、修改代码重签名之后可以在安装到设备上。
tea9
2022/07/16
1.5K0
ios重签名教程
checkra1n越狱ipadmini2_checkra1n不能跳过激活
​ 有一天我想安装duet display(付费软件) 把IPAD作为PC的副显示器, 然后在能的淘宝上买了个账号,登录之后,安装之后,忘记退ID了,然后我还给抹除了设置,重启之后出现ID锁,心塞然后开始绕ID之路经过两天的研究终于搞定。
全栈程序员站长
2022/11/08
3.9K0
checkra1n越狱ipadmini2_checkra1n不能跳过激活
iOS逆向(3)-APP重签名
原文地址:https://juejin.im/post/5c7e72cd6fb9a049fc044519”
iOSSir
2019/06/14
1.5K0
iOS逆向(3)-APP重签名
手把手教你制作一款iOS越狱App,伪装微信位置
本文是我个人在对逆向工程强烈的兴趣驱使下,拜读《iOS应用逆向工程》,所实现的一个好玩的功能,与大家分享,也是对自己学习的一个简单总结。BTW iOS逆向论坛 iOSRe 是一个很好的iOS逆向交流社区。
全栈程序员站长
2022/09/03
3K0
手把手教你制作一款iOS越狱App,伪装微信位置
iOS逆向开发之环境搭建
简单来说,iOS越狱是指获取iOS设备的root权限,解除各种限制,可以绕过App Store下载及安装各种App、插件等。
conanma
2021/11/04
2.1K0
iOS安全攻防(三):使用Reveal分析他人app
1)已越狱的设备,而且已安装了OpenSSH,MobileSubstrate等有用工具(Cydia源里安装)
全栈程序员站长
2022/07/13
6370
iOS安全攻防(三):使用Reveal分析他人app
iOS10.1.X 已经可以越狱!逆向的同学有福了
2016-12-2215:28:54 发表评论 1,316℃热度 1.支持系统 2.支持设备 3.越狱工具 4.小白鼠越狱测试 5.总结 目录 最近这些天有关越狱的消息不断,我估摸着越狱也快发布了,就等着国外大神发推或者国内的盘古,太极等发布工具。然后手头上的设备也 DFU 降级至10.1等待越狱,之前用着 beta 版本的 iOS10.2。在看这本书之前其实也不太想越狱(虽然每次出越狱必定尝试),毕竟越狱后设备安全风险增加,容易白苹果,手机上几百 G 的资料丢失比较麻烦,但是最近在看iOS逆向
timhbw
2018/05/03
1K0
iOS10.1.X 已经可以越狱!逆向的同学有福了
iPhone使用教程_iphone基础使用
大家好,又见面了,我是你们的朋友全栈君。 iPhone史上最全的使用教程 iPhone的解锁、越狱、激活、固件等等是什么意思,有什么分别 这几天看见好多新人问这几个词的含义及区别。我在这儿说说我的看法,不是官方解释,不懂的学习一下,懂的绕道,如有错误,敬请指正! 第一次买来时或恢复官方固件后,iPhone会处于那种只能拨打紧急电话状态,不能使用其它功能,如果要使用其它功能,就必须进行一项操作,那就是“激活”。一般有锁版的只有使用对应运营商的卡(如美国的AT&T卡)或者无锁版使用任何卡,才可以激活。激活之
全栈程序员站长
2022/09/29
14.2K0
使用Theos做一个简单的Mobile Substrate Tweak
Mobile Substrate是Cydia的作者Jay Freeman (@saurik)的另外一个牛X的作品,也叫Cydia Substrate,它的主要功能是hook某个App,修改代码比如替换其中方法的实现,Cydia上的tweak都是基于Mobile Substrate实现的。目前支持iOS和Android平台。
JoeyBlue
2021/09/07
1.1K0
Hook原理
hook没有注入成功。到这里暴露给自己用和防止别人Hook都已经成功了。对于三方库中正常使用到的Hook可以在防护代码中做逻辑判断可以加白名单等调用回原来的方法。如果自己的库在image
ruochen
2021/12/05
2.3K0
iOS逆向之使用unc0ver越狱 iOS13.5
因为工作需要,笔者最近在研究越狱,网上看了很多文章,这篇文章记录了给iOS 13设备越狱的方式和过程,希望对你有帮助。
VV木公子
2020/09/11
13.1K0
iOS逆向之使用unc0ver越狱 iOS13.5
1、yalu102 激活了之后,无法连接ssh的解决方案 2、Reveal的基本使用3、Passionfruit 的实现原理
yalu102此次越狱工具默认安装了 SSH.采用了 Dropbear 取代 Openssh。#/usr/local/bin/dropbear
公众号iOS逆向
2021/03/24
7280
1、yalu102 激活了之后,无法连接ssh的解决方案 2、Reveal的基本使用3、Passionfruit 的实现原理
iOS逆向之文件系统
作为一名iOS开发者,长期以来和MacOS、iOS系统打交道,对iOS和MacOS系统并不陌生。在开发中,我们也经常访问甚至修改MacOS的某些目录,每个系统目录都有其特殊的功能定位。而iOS系统源自MacOS,在很多方面iOS都和MacOS很相似,笔者借助最近逆向的机会,系统的学习&梳理了下iOS的系统目录及其结构,顺便总结了常见的文件目录的特殊定位。希望本篇文章能够让读者有所收获。
VV木公子
2020/09/08
9.4K0
iOS逆向之文件系统
iOS逆向之手动安装ipa
在对iOS app进行安全分析时,为了动态调试iOS app或者hook iOS app,需要先将app安装到手机中。有的iOS app可以通过App Store或者其他手机助手app直接下载安装,而另外的app如未签名app、或者从网上下载得到的app的安装文件ipa则需要通过手动安装到手机中。下文则主要介绍通过手动安装ipa到iOS设备中。
用户4682003
2022/05/19
3.5K0
iOS逆向之手动安装ipa
学习 iOS Application Security 需要注意的一些点
1. mobileTerminal 使用 源 http://cydia.angelxwind.net 的版本;vim 版本7.1-3p,不要升级到7.3-1;
s1mba
2019/05/25
2.3K0
Apple Watch平台认知与产品设计
作者:C7210,UX玩家、交互设计师、猫奴、guitar fucker,现就职于腾讯ISUX(上海) 时至今日,Apple Watch已然高调进入我们的视野,却仍未正式进入我们的世界,绝大多数人的信息来源仍限于Apple官方的介绍。大家有期许,有探索,也有失望。持负面态度者的普遍看法是,“这些事情在iPhone上都能做…手机屏幕那么大,看起来更爽用起来更舒服…令人心塞的续航能力仅支持5个小时的高强度使用…买它何用…”,而乐观者则普遍相信作为Apple设备生态圈的新生力量,Watch在技术上虽尚未成熟,却
腾讯大讲堂
2018/02/12
1.2K0
Apple Watch平台认知与产品设计
推荐阅读
相关推荐
在越狱的iPhone/iPad上安装自开发环境
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验