为什么要学习逆向开发
逆向学习前的准备逆向的基本思想为什么要越狱越狱后的准备工作接下来学什么
为什么要学习逆向开发
为什么要学习逆向开发,这是个问题。如果你上网查一定会搜到这样的解释:
了解整个iOS系统和架构ios逆向,能够站在更高的维度看问题
学习其他App优秀的设计和实现方法
提高开发效率
更好的保障自己App的安全
这些当然是我们投入精力和时间理由,而我学习越狱开发的理由很简单、纯粹——装逼。
逆向学习前的准备
学习逆向开发首先你是一个iOS正向开发工程师,了解iOS AppStore开发。
熟悉iOS设备的硬件结构和系统原理(我也不太了解,但我开始学了)。
了解基本的汇编指令。
拥有一台越狱过的iOS设备。
iOS越狱设备最好是ARM64位系统的,因为苹果从5s开始都是64位指令集,再研究32位的没比必要。
手机最好是iOS8、iOS9系统的,因为iOS10可能不能完美越狱。iPhone的话最好是5s及以上,因为5s以下设备是32位指令集。
越狱的话最好不要用自己平常用的手机,不要在越狱机上登录金融类产品账号,因为越狱后不安全,去买个二手的能用就行了。
越狱有风险,如果你担心变成砖可以在某宝上买一台已经越狱好的。
这里有一个我在闲鱼上买二手手机差点上当的小插曲,提醒大家不要上当。(如果你想在闲鱼或者转转上买台二手手机做测试机,要提前问好手机型号和系统,是不是合约机等。在北京的童鞋,在闲鱼上联系的如果发现对方说是自己的店铺在中关村一带ios逆向,尤其是科贸电子城(中关村城c1口出我记得很清楚)的千万不要去了,那里是骗子聚点。我到了科贸三楼一个挂着电信的代理商铺之后,价格谈好了iPhone6 1000元,付完钱才告诉我是合约机,要身份证转电信户。他们不提前说好是合约机,每个月要280的电信套餐,交2年左右。发现上当我要求退款,他们坚决不给退。我和一哥们一起去的,我们和他们经过一顿撕扯差点大打出手,发现他们人多势众而且个个膘肥体壮,我俩心想好汉不吃眼前亏,我们说要报警这才妥协把钱给退了。)
逆向的基本思想
逆向是一个不断的试错过程,需要进行不停的猜测、查找和验证
为什么要越狱
越狱就是为了突破iOS沙盒机制的限制。沙盒是一种安全机制,为运行中的程序提供隔离环境。沙盒在启动的时候可以设置运行的程序是否可以访问网络、文件、目录等。
越狱后的准备工作
手机越狱后发现手机上多了一款Cydia的应用。Cydia是越狱iOS的软件管理平台(Cydia 之父 - Jay Freeman(杰 弗里曼))
越狱后iPhone上安装以下工具
apt-get
apt-get是一款软件包管理工具。命令介绍:
<pre class="" style="border-radius: 0px;border-width: 0px 30px 0px 0px;background-color: transparent;font-family: inherit;font-size: inherit;margin-top: 0px;margin-bottom: 0px;color: inherit;z-index: 2;overflow: visible;border-right-style: none;border-right-color: transparent;width: inherit;padding: 0px 4px"><span style="padding-right: 0.1px">apt-get update 【更新所有的源】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get upgrade 【更新所有通过apt-get安装的程序】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install packagename 【安装软件包】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get remove packagename 【删除软件包,不删除依赖包,不删除配置文件】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get remove <span class="cm-attribute">--purge</span> packagename 【删除该软件包,不删除依赖包,删除配置文件】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get autoremove packagename 【删除该软件包,删除依赖包,不删除配置文件】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get autoremove <span class="cm-attribute">--purge</span> packagname 【可以删除所有依赖包<span class="cm-operator">+</span>配置文件】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-cache search string 【搜索含有该string字段的软件包】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-cache show packagename 【详细显示该软件包的信息】</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get clean 【清除apt-get安装的软件包备份,可以释放储存空间,不影响软件正常使用】</span>
通过apt-get安装 ping、ps、find、tcpdump、top、vim、network-cmds必要工具
<pre class="" style="border-radius: 0px;border-width: 0px 30px 0px 0px;background-color: transparent;font-family: inherit;font-size: inherit;margin-top: 0px;margin-bottom: 0px;color: inherit;z-index: 2;overflow: visible;border-right-style: none;border-right-color: transparent;width: inherit;padding: 0px 4px"><span style="padding-right: 0.1px">apt-get install <span class="cm-builtin">ping</span></span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install <span class="cm-builtin">ps</span></span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install <span class="cm-builtin">find</span></span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install tcpdump</span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install <span class="cm-builtin">top</span></span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install <span class="cm-builtin">vim</span></span>
<span style="padding-right: 0.1px"><span></span></span>
<span style="padding-right: 0.1px">apt-get install network-cmds </span>
接下来学什么
接下来我会用几篇文章介绍逆向开发的基本工具和知识,敬请期待。
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99