本文版权归扣丁书屋所有,转载请保留此说明。

越狱与开发

iPhone 在10年前问世时,并没有第三方应用,连一个游戏都没有,但是 Nicholas Allegra 等越狱开发者将苹果的智能手机推到了极限,因为用户越狱后可以在没有苹果允许的情况下安装第三方应用程序和插件。随着时间的推移,iOS的生态越来越强大,其第三方应用越来越多,涉及的功能五花八门,从一定程度上说,越狱已经死了,但这不意味着,开发人员没有必要越狱手机。拿到一部越了狱的手机,对开发人员来说,就像是开启了上帝模式,你可以进入系统看看各个系统进程是如何配合完成任务的,系统的签名机制的工作原理等等,同时,当你觉得第三方软件很酷时,可以在越狱手机上分析其实现原理,了解竞争对手的安全性措施等等。

本系列介绍如何开发Tweak以增加软件功能,如何开发Daemon保护应用的安全性,如何调试第三方应用,当然这一切都是建立在越狱手机上的。建议在阅读本系列文章之前,先准备一台越狱的手机。至于越狱的方法,可以参考爱思助手越狱教程,PP助手越狱教程,当然还有盘古越狱等等,工具比较多,不一一列举。

越狱

越狱简单来说,就是通过系统的漏洞(又叫Bug),拿到系统的最高权限(一般是root用户,对于使用或了解linux或类linux的用户,应该知道root用户意味着什么),然后利用这个最高权限,安装必要的软件到必要的地方,并让这个软件开机就以最高权限启动。需要说明的是,开机就以最高权限权限启动这个机制是系统本身就自带,因为系统也需要这一权限以实现必要的功能,比如安装应用。而越狱程序能开机自启动则是因为他利用系统的漏洞拿到最高权限后,利用这个权限,把自己加到启动列表中。

对于系统来说,防止被越狱总的说来一个是对权限管控,尽量最少使用最高权限,即不滥用最高权限,减少产生漏洞的可能性,同时系统还可以事后弥补,比如重启时发现被越狱了,进行自我保护,不启动或清除掉那些异常的程序。一般来说,我们经常说的不完美越狱就是因为没有搞定系统的“事后弥补”这一过程。一般的现象就是越狱后的设备(iPhone或者是iPad)一旦重启之后,会无法进入系统,直接卡在一颗白色苹果的界面;或者是可以进入系统,但是越狱之后所装的应用都无法使用,打不开。

进行完前面的操作后,手机被称之为成功越狱(完美与不完美都认为是成功越狱)。如我们所知道的,我们可以通过ssh协议远程进入类Unix系统(unix,linux,FreeBSD),然后操作文件,进程等。iOS系统也可以看做是类Unix系统,从而我们能通过ssh进入iOS设备(越狱后是可以以root用户进入的,这意味着什么,大家都懂的)。至此,我们开启了上帝模式。

开发

越狱开发需要与我们常说的应用开发区分开来,但越狱开发本质上也是在开发应用。说区分开来是因为,如果只用应用开发,我们完全没有必要越狱,要知道为了越狱,我们可是费了好大的功夫。一般来说,越狱开发专指Tweak开发,Daemon开发,破解开发。但越狱开发最后的产物,一般来说,还是一个应用或是作用在某一个应用上。毕竟最终用户都是通过应用来进行操作的。在Tweak,Daemon,破解开发中,又以Tweak开发最为常见。本文以Tweak开发来说明越狱开发。

Tweak开发是指开发一个模块(差不多就是像Windows开发的dll,iOS开发的动态Framework,Android开发的.so或是.dex文件),而这个模块被加载入某一个或几个应用中。听上去挺复杂,比如我们如何能被应用加载,我们又如何显示出来(入口),好在被加载到应用这一块不能我们担心,在越狱的时候,会自带一个越狱模块,我们称之为Cydia。当我们提到Cydia时,可以认为他是一个商店,可以收录不被苹果通过的软件(当然被苹果通过的软件也能收录)。也可以认为他是一个注入框架,所有的Tweak向Cydia注册后,他会负责在适当的时候把我们的Tweak注入到指定的应用(进程)中去。至此,我们解决了第一个总是:Tweak被应用加载。

Tweak被加载后,按照常规开发思路,就是要找机会显示(或者工作)了,比如用户有4个Tab,我们试着加入一个Tab,长按的时候,添加一个自己的菜单项,或是强制显示已有的菜单项(比如本来有3个菜单项但软件根据本地条件是否满足只显示2项或1项)。这本就是一个较复杂的开发,需要用到Hook相关的技术,好在我们不用从头开始整理自己的Hook库,Theos这个越狱开发工具包解决了大部分的问题。至于如何安装这个越狱开发工具包,这篇博客iOS逆向工程之Theos已经有很详细的说明。大家可以试着安装,然后按照Helloworld的教程开发第一个Tweak.

至此,2个问题均已解决。

本文版权归扣丁书屋所有,转载请保留此说明。

转载于:https://my.oschina.net/u/3584736/blog/1476750

开篇 关于iOS越狱开发相关推荐

  1. iOS越狱开发theOS搭建

    iOS越狱开发theOS搭建 越狱环境搭建 TheOS Theos.最初由DHowett进行开发,由于DHwoett去了微软,不再有时间维护了,所以Adam Demasi(kirb)接手了他的工作,并 ...

  2. iOS越狱开发环境搭建 theos

    iOS越狱开发环境搭建 theos http://www.devdiv.com/home.php?mod=space&uid=54&do=blog&id=7596 前段时间在开 ...

  3. iOS越狱开发(一) ipa 安装

    原文  http://www.cnblogs.com/easonoutlook/p/3220429.html iOS越狱开发(一) 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴, ...

  4. IOS越狱开发起步教程

    IOS越狱开发起步教程 IOS,Jailbroken,Programming 周六, 一 14, 2012 学习并实战开发越狱后的IOS程序已经快两个月了,中文资料除了CocoaChina上有少数资料 ...

  5. [iOS越狱开发]安装command line tools for Xcodew

    网上搜了篇文章,介绍iOS的越狱开发,其中提到了要给Xcode安装command line tools,以前从没听过这个工具,然后就google了下. 关于Xcode Command Line Too ...

  6. iOS 越狱开发那些事儿之二

    iOS越狱篇之二:iOSOpenDev环境搭建 主要参考网站:http://iosopendev.com/ 参考地址:http://blog.csdn.net/tuluigi/article/deta ...

  7. ios 越狱开发(应用安装)

    http://www.cnblogs.com/easonoutlook/p/3220429.html 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总 ...

  8. python开发ios插件_[原创]Textobot-换个轻松高效的方式开发iOS越狱插件

    许愿:要是段老师的看雪平台能导入头条或者公众号的文章就好了. 导读 0x00.交个朋友 0x01.越狱开发 0x02.Cydia插件体系 0x03.Cydia插件开发 0x04.Textobot插件体 ...

  9. iOS 越狱的Tweak开发

    iOS 越狱的Tweak开发 原文链接在我的博客 https://yohunl.com/ios-yue-yu-de-tweakkai-fa/ 上,如果有更新,以博客为准 iOS越狱开发中,各种破解补丁 ...

最新文章

  1. 汇聚开发者星星之火,华为鸿蒙系统有希望成为国产之光?
  2. matlab 中调用s函数表达式,[求助]S函数中能否调用M函数
  3. 计算机组成原理6-20,计算机组成原理课后题6.20教案.ppt
  4. mysql中engine=innodb和engine=myisam的区别
  5. python怎么查看网页编码格式_怎么用python爬取网页文字?
  6. F5:2022年应用交付和安全领域趋势展望
  7. es6 原生构造函数的继承
  8. 响应内容类型为CSV
  9. Favorites整理v2011
  10. linux下安装redis-cli
  11. C盘清理工具Dism++教程
  12. win服务器下利用vlmcsd搭建KMS服务器激活win10
  13. Android 播放器框架
  14. 远远地望你在山的那边
  15. Java计算当前时间,结合时区
  16. oracle服务启动哪几项,Oracle服务启动项
  17. python cookies是什么_Python获取cookie有什么用
  18. 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具
  19. 你连HTTPS 原理都不懂,还给我讲“中间人攻击”
  20. ThinkPHP5.0之PHPmailer发送邮箱(qq、163)

热门文章

  1. 自己写了一个JAVA的简单扑克牌小游戏
  2. 你想知道的DCMM认证评估,最全回答来了
  3. 正常商品、低档商品、吉芬物品的需求曲线的特征
  4. Android 4.0系统打电话和接电话系统流程时序图详解
  5. Windows7操作系统安全(3)
  6. 华为鸿蒙系统下载猫薄荷,华为鸿蒙系统官网下载_华为鸿蒙系统官网2.0系统安装包免费分享 v1.0-安族软件网...
  7. 制作画中画特效,把视频嵌到另一个视频画面任意位置
  8. 2019规模化敏捷春季峰会 --之不断增长的技术债
  9. 数字图像处理的神秘女性——莱娜(Lena) 文末有彩蛋
  10. wls2 ubuntu设置固定IP地址,并实现开机启动