逆向App的思路
界面分析
- Cycript与Reveal
代码分析
- 对Mach-O文件的静态分析
- MachOView,class-dump,Hopper Disassembler,ida等工具的使用
动态调试
- 对运行中的App进行代码调试
- debug server,LLDB工具的使用
代码编写
- 注入代码到App中
- 必要是还要重新签名,打包ipa
iOS JailBreak越狱
- 利用iOS系统的漏洞,获取iOS系统的最高权限(Root),解开之前的各种限制,是合法的行为;
现在我们进入iOS逆向学习的第一个模块iPhone的越狱。
iOS JailBreak越狱的优点
- 打造个性化,与众不同的iPhone;
- 自由安装各种实用的插件,主题,App;
- 修改系统App的一些默认行为;
- 自由安装非AppStore来源的App;
- 付费App秒变免费App;
- 灵活管理文件系统,让iPhone可以像U盘那样灵活;
- 给开发者提供了逆向工程的环境。
未越狱iPhone安装App的途径:
- AppStore
- 真机调试
- 通过证书打包签名ipa安装
iOS JailBreak越狱的缺点
- 不予保修;
- 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%-20%;
- 在新的iOS固件版本出来的时候,不能及时地进行更新;
- 每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失败;
- 如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本;
- 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险;
- 如果安装了不稳定的插件,容易让系统变得不稳定,变慢,甚至出现
白苹果
问题;
完美越狱
- 越狱后的iPhone可以正常关机和重启;
不完美越狱
- iPhone一旦关机后再开机,屏幕就会一直停留在启动画面,也就是白苹果状态;
- 或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用;
- 一般来说,在苹果发布新的固件后,针对该固件的不完美越狱会先发布,随后完美越狱才能发布;
越狱方法推荐
- PP助手,已经不更新了;
- 爱思助手
如何判断是否越狱成功
- 桌面是否有Cydia
- 工具判断(比如PP助手)
Cydia
- 可以看成越狱之后的
App Store
- 可以在Cydia中安装各种第三方的软件(插件,补丁,App)
- 其作者为 Jay Freeman(saurik)
Cydia安装软件的步骤
- 添加软件源(不同软件的软件源可能不同)
- 进入软件源找到对应的的软件,开始安装;
SpringBoard
- SpringBoard就是iOS的桌面系统;
- 有时候通过Cydia安装完插件后,可能会出现
重启 SpringBoard
提示界面
iPhone必备软件的安装
Apple File Conduit "2"
:可以在Mac上访问整个iOS设备的文件系统,类似的补丁还有,afc2,afc2add;
AppSync Unified
:可以绕过系统验证,随意安装,运行破解的ipa安装包;越狱后在 Cydia 中添加源地址 cydia.akemi.ai,然后搜索 AppSync Unified并安装;
iFile
:可以在iPhone上自由访问iOS文件系统,类似的还有Filza File Manager,File Brower;
PP助手
:可以利用PP助手自由安装海量APP;
Mac必备软件安装
iFunBox
:文件管理系统,https://www.i-funbox.com/en_download.html
PP助手
:自由安装,卸载App,已经停止更新
爱思助手
:自由安装,卸载App
安装包
通常情况下:
- 通过Cydia安装的安装包时deb格式的(结合软件包管理工具apt)
- 通过PP助手安装的安装包ipa格式的;
如果通过Cydia源安装deb失败:
- 可以先从网上下载deb格式的安装包;
- 然后将deb安装包放到/var/root/Media/Cydia/AutoInstall
- 重启手机,Cydia就会自动安装deb
代码判断iPhone是否越狱
- (void)viewDidLoad {
[super viewDidLoad];
if ([[NSFileManager defaultManager] fileExistsAtPath:@"Applications/Cydia.app"]) {
NSLog(@"此设备已越狱");
}else{
NSLog(@"此设备未越狱");
}
}
提高工作效率的工具软件
Alfred:快捷搜索 https://www.alfredapp.com
go2shell:终端文件路径
越狱步骤
本人用的iPhone8 13.2的系统版本,采用安装uncOver
软件进行越狱,点击uncOver进入下载页面;
- 下载
uncOver
软件的ipa安装包; - 要对
uncOver
ipa包进行签名,可以使用爱思助手,打开爱思助手并连接手机,然后用自己的apple Id账号进行签名,操作如下所示:
- 签名成功后,使用爱思助手进行安装,最后使用
uncOver
app进行越狱。
遇到的问题
问题一:使用uncOver越狱成功之后,由于是不完美越狱,手机重启之后,cydia打开直接闪退;
解决方案:打开uncOver软件,重新再越狱一次,重启之后就可以打开cydia了
问题二:由于uncOver是使用自己的开发者账号签名之后安装的,会存在掉签的情况导致uncOver打不开,若此时手机重启了,那么cydia也打不开了,然后将uncOver卸载了,重新签名再安装,这时总是会提示该设备未安装appSync越狱补丁
,uncOver安装不了;
解决方案:使用另外一个越狱方式checkra1n
,下载地址为:https://checkra.in
Mac安装完成之后,USB连接手机,然后按照上面的提示步骤,就能实现手机的越狱。