iOS安全逆向之旅--安全逆向环境搭建和工具使用介绍

一、前言

这一篇文章我们继续介绍iOS安全逆向相关知识,之前已经介绍了一篇入门的文章:iOS安全逆向知识概要简介 介于之前已经了解了Android逆向相关的知识,所以这里会相对比较容易入门,本文就来介绍一下iOS逆向需要准备的工具和环境搭建,为后续操作做准备。

二、越狱设备(uncOver+Cydia)

首先我们得有个Mac笔记版,然后得有个iPhone手机,这个和Android逆向一样,去咸鱼买个二手的,而且现在咸鱼已经可以买到已经越狱后的手机了,当然现在只有12.4以及以下的系统可以越狱,后面说怎么越狱,当然这个系统局限于现在当前的时间点,因为后面有大神搞了新的系统漏洞,新系统也可以越狱了。现在假如买了一个没有越狱的手机,并且系统是支持越狱的手机哈,如果买了一个已经越狱的手机可以忽略以下内容:

5eb6d3d95cd9d7d40086e8945c2668a1.jpeg

我们连接上手机,安装一个叫做"爱思助手"这个软件有Mac和Windows版本的,这个工具就相当于Android当时root的工具"刷机精灵"不过可惜,刷机精灵工具现在已经停更了,加上现在Android最新系统root越来越难,所以我现在选择的方式是买小米手机,然后去论坛下个开发版的rom,因为这个已经提前root功能了。希望这个爱思助手不要停更,因为这个工具真的很好用:

86025ff1bc6d44ff04c490145fcfb462.jpeg

这个工具可以刷机也可以越狱,这里一定要注意不要随便的刷机哦,因为iPhone是不支持系统降级的,现在这个时间点能刷机的就是12.4了,所以暂时大家不要去刷13.x的系统,当然以后应该是可以的,这里我们应该买了一个二手的可以刷机的手机,这里不用刷机了,直接点击一键越狱即可:

a38c11f023ac4bfca2ac2e048e5b0187.jpeg

这里直接点击越狱即可:

09e1a454051d3836ba1db6d1ef0b08e0.jpeg

这里如果不出意外情况的话,会提示你越狱成功,同时会在你的设备中安装这个应用:uncOver

0522a77eb2eac9b6b0161c0726aab0c0.jpeg

然后打开这个应用,不过会提示你让你信任证书,这个没关系,去设置->通用->描述文件与设备管理,找到uncOver的信息点击信任即可,这个主要是iOS中的应用发布方式的区别,这个后面文章会说到iOS中的应用发布的几种方式和区别。信任了之后再打开:

8a2794ef549b69e8b76573e70ee3c35e.jpeg

我这个是因为已经JailBreak了,所以提示的是Re-Jailbreak了,第一次进入应该提示你Jailbreak,直接点击即可,这里没有遇到什么问题,运行完了之后会弹出一个对话框,点击ok就会重启:

1fa1522e3a8bed13d18b44f62feddd63.jpeg

这里一定要注意不是重启设备就是我们常说的重启手机,因为现在包括上面的爱思助手的越狱方式都叫做不完美越狱,就是越狱成功了,在真正意义上重启设备或者关机越狱就会失效,需要重新越狱,所以大家一般没事就不用关闭设备或者重启了,而上面这个包括后面我们都有一种操作叫做重启(killall SpringBoard)。

拓展说明:这里遇到过一个问题,就是上面爱思助手有时候会抽风越狱报了各种错,我遇到的是这个错误:

9f9e9d6d8f16f62940e0f5438e5989a1.jpeg

然后网上搜了一下,说是爱思助手的服务器在做升级啥的,暂时越不了了,这个的确坑,所以我们需要手动的安装uncOver然后手机上直接越狱即可:https://udid.35ya.com 在手机中用Safari浏览器打开,然后选择uncOver

174db6a434727250392c5c08e2ff9e3f.jpeg

这里点击安装即可,不过速度有点慢需要等一段时间即可。还有一个问题就是uncOver里面越狱重启之后无限loading,这时候可以用命令 killall SpringBoard 重启设备,当然这个前提是安装了后面提到的OpenSSH工具,或者用爱思助手直接重启设备,这时候虽然在无限loading但是连接没有断开的:

6ce6d252a184a37e8c0063561574b5d0.jpeg

到这里呢如果重启之后没问题的话,桌面多了一个Cydia的东西,这个其实就是越狱之后的经典插件管理应用,可以把它理解理解成一个专门逆向破解的工具市场,我们打开他:

7fda259958112202e136ce564ff4ec45.jpeg

因为我已经安装了一些常用的工具了,所以这里也没法给大家演示每个工具的安装步骤了,后面会单独介绍常用的工具,这里安装其实很简单,直接点击搜索,然后搜索你想要安装的逆向工具即可。

拓展说明:我们在安装软件工具的时候,或者刚刚进入Cydia的时候会提示网络错误问题,这时候记得在爱思助手市场中搜索"乐网"这个应用安装,然后打开,其实我也没弄懂为啥要装这个应用才可以,同时还必须是非AppStore中的包才可以:

86a3a1c5e206b03fde63262f4cf42d07.jpeg

这个工具看上去是拦截广告的,但是也没拦截成功过,不过他的确可以解决Cydia打开提示网络错误的问题。

当然我们在安装一些工具的时候,他也会提示你找不到该工具或者下载失败问题,这时候我们需要安装指定的软件源,这里我加了一个比较常用的pp助手源,后面下载和搜索OpenSSH工具用到的。

e8d5033acd1705c50915434871f25ef8.jpeg

到这里其实这两个核心的工具已经安装好了,但是这个过程看着挺顺利的,其实并不是,在这个过程中我遇到了很多问题,比如uncOver打开闪退,Cydia打开闪退,uncOver无限重启之后Cydia打开失效闪退问题等,当然相信大家还会遇到其他各式各样的问题,这里就先把我遇到的问题以及处理方式总结一下:

1、Cydia打开提示网络错误,必须安装爱思助手中的乐网app,不要安装AppStore里面的。
2、如果打开Cydia闪退,直接打开uncOver重新re-Jailbreak即可。
3、如果打开uncOver打开也是闪退,那就用爱思助手重新越狱,这种情况一般是真正的重启设备了。
4、如果用爱思助手越狱失败,可以手动安装uncOver工具即可:https://udid.35ya.com 用系统浏览器打开即可。如果这个地址过期或者安装失败,大家可以自行google搜索uncOver的安装方法。
5、如果Jailbreak越狱重启转菊花,然后始终越狱失败,记得打开设置页面,关闭第一个选项:Load Tweaks,重新越狱Jailbreak。
6、如果以上都是不行,最终方案是:打开uncOver,打开设置->关闭第一个选项Load Tweaks,然后在Jailbreak。


踩过的坑:安装触摸精灵,重启后越狱失败,而且Cydia打开闪退,重新越狱也是无效,所以感觉是触摸精灵插件问题,但是这时候Cydia打开也闪退,也卸载不了这个插件, uncOver的设置中关闭Load Tweaks,然后打开Cydia不闪退了,这时候删除插件,在Jailbreak重新越狱即可:

e1c1618c8e8c793eff0c0cba6fcd09b0.jpeg

当然上面整理的不一定是最全的,但是都是本人遇到的问题总结而已,如果大家遇到问题没有解决的&#

  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
iPhone手机端: 1.Apple File Conduit 2(替换afc2add),使PC端的管理工具可以访问iPhone的所有目录与文件. 2.AppSync,使可以安装破解的IPA,威锋源apt.weiphone.com. 3.Mobile Substrate或者Substrate Safe Mode 4.OpenSSH,作为SSH服务端; 5.Gnu Debugger(gdb),在这个源中cydia.radare.org,版本为1708,低版本不支持ios4.3+。 6.adv-cmds:ps命令可以查看进程信息; 7.darwin cc tools:otools可以查看可执行文件的详细信息; 8.Link Identity Editor:ldid签名; 9.Cycript是一款脚本工具,用于测试函数. 10.BigBoss Recommanded Tools是一系列命令行工具,强烈建议安装上. 这个工具有以下命令行工具还没装上: file #常用的file命令 links #links,文本浏览器 netcat #nc ngrep #ngrep (Network grep). Nmap #nmap Screen #screen tcpdump #tcpdump 11.iFile是一款文件管理工具. 12.MobileTerminal(注意没有空格)是开源的IOS版Terminal,注意:4以上系统都需要的是520-1版的mobile terminal,安装源是iPhoneCake源 http://cydia.xsellize.com,cydia作者源里那个太老了会出现闪退. 13.AppCrackr是一款用来对App破解去壳的工具,安装源是iPhoneCake源 http://cydia.xsellize.com. 14.syslogd是用于记录类UNIX中系统日志 的守护进程,我们可以通过/var/log/syslog/看到对应的log输出,安装源是http://apt.saurik.com. 15.SQLite是运行于iOS设备上的SQLite 数据库工具. 16.top是运行于iOS平台上的查看当前内存使用情况的工具. 17.Vi IMProved (即vim). 18.keychaineditor 19.netcat
NSString类是iOS开发中非常常用的字符串类,其中substringFromIndex、substringWithRange和substringToIndex是NSString类中的三个常用方法,用于截取字符串的一部分。下面分别介绍它们的使用方法。 1. substringFromIndex方法 该方法用于截取字符串从指定位置到字符串结尾的所有字符,返回截取后的字符串。它的方法签名如下: ``` - (NSString *)substringFromIndex:(NSUInteger)from; ``` 其中,from是一个NSUInteger类型的参数,表示要截取的起始位置,从0开始计数。 示例代码: ``` NSString *str = @"Hello World"; NSString *subStr = [str substringFromIndex:6]; NSLog(@"%@", subStr); // 输出:"World" ``` 2. substringWithRange方法 该方法用于截取字符串从指定范围内的所有字符,返回截取后的字符串。它的方法签名如下: ``` - (NSString *)substringWithRange:(NSRange)range; ``` 其中,range是一个NSRange类型的结构体,用来指定要截取的字符串的范围。 示例代码: ``` NSString *str = @"Hello World"; NSRange range = NSMakeRange(6, 5); NSString *subStr = [str substringWithRange:range]; NSLog(@"%@", subStr); // 输出:"World" ``` 3. substringToIndex方法 该方法用于截取字符串从字符串开头到指定位置的所有字符,返回截取后的字符串。它的方法签名如下: ``` - (NSString *)substringToIndex:(NSUInteger)to; ``` 其中,to是一个NSUInteger类型的参数,表示要截取的结束位置,从0开始计数。 示例代码: ``` NSString *str = @"Hello World"; NSString *subStr = [str substringToIndex:5]; NSLog(@"%@", subStr); // 输出:"Hello" ``` 以上就是NSString中substringFromIndex、substringWithRange和substringToIndex方法的使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值