很想了解一下关于 IOS 越狱开发的几个问题,希望懂越狱插件开发的前辈可以进来帮我解答一下。

2015-09-11 00:34:03 +08:00
 loveis0
前言:
首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。
首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。
首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。

申明:我本人也不是为了装盗版 APP 才需要越狱的,只是为了想自由自在的获取手机的最高权限,并且一直很喜欢那些个性并且功能性非常丰富的插件。
所以,卫道者勿扰!

正文:
我本人是从 3GS 就开始接触越狱的,从一个小白开始曾在威锋之类的论坛上学到了很多东西,但可惜一直没有接触过编程,所以有几个问题一直搞不清楚,网上搜索过,但也没有一个详细解答的。
直到最近终于有机会学习编程了,所以想起这几个问题,特来了解清楚,考虑以后的方向。(现在正在学习 C 和 OC 。。。)
目前我接触的开发软件只有 Xcode 。
在这里,我把已知的插件种类大概划分为了五种:
第一种在桌面上只有 APP 主程序,在设置中没有选项的(例如: vWallpaper,FLEX,iScheduler )
第二种在桌面上没有 APP 程序,而只在设置中有选项的(例如: CCToggles , AUXO , Bioprotect )
第三种是桌面上有 APP 主程序,并且在设置中有选项的(例如: Acitvator , Springtomize , winterboard )
第四种是既没有主程序也没有设置项目的(大部分都是别的插件需要依存的,被称为依赖)(例如: Apple File Conduit , Cydia Substrate , Substrate Safe Mode , Fliswitch )
第五种则是不需要依赖也可以安装的插件(例如: Cydia 本身, IFile , IOS Terminal )

问题 1 :请问以上五种类别的插件分别是用什么工具开发出来的?
问题 2 : DEB 格式的插件具体是用 OC 语言开发的?还是用 C 语言开发的,还是别的什么语言也用了,才能开发出来的?
问题 3 :这五类插件的开发各自需要编程语言什么水平?例如 C 语言或 OC 或 Swift 语言需要学到什么程度?
问题 4 :那种有桌面 APP 主程序的插件和正常用 Xcode 开发 APP ,是否是用不同的软件编译出来的?
问题 5 : evad3rs 团队或者盘古太极又或者绿毒红血这些团队,是通过用什么程序,以及使用什么编程语言寻找越狱漏洞的?(问这个并不是好高骛远,但是确实很憧憬他们,像是太极盘古都是中国人,我很想知道他们是用什么方法,朝着哪个方向,才掌握了这样的技术的。)
最后,问题 6 :想做一名越狱社区的开发者,想创造出各式各样神奇的插件,需要具体朝着什么方向学习?学好 C 还是 OC 还是 Swift 又或者别的什么语言?
以上 6 个问题非常真心恳求回答,希望知情的前辈可以告诉我。
2795 次点击
所在节点    iDev
6 条回复
l12ab
2015-09-11 01:06:26 +08:00
不懂越狱开发,但越狱的安装都是 deb 吧,是不是参考 deb 开发就可以了
CareiOS
2015-09-11 09:18:49 +08:00
去研究一下 theos, opendev 等工具
我也想学,一直没有时间。
dimaginexus
2015-09-11 10:06:11 +08:00
1.装 opendev , Xcode 即可开发。
2.语言当然是 oc , c , c++都有会用到。
3.语言都不清楚建议先学正常的 iOS 开发后再做越狱。你分插件的方法完全是按有没有用户界面来,这没什么意义。大部分插件其实都是生成一个动态链接库 dylib ,在你指定的进程启动时加载它。
4.你所看到的有界面的 app ,就是先写完一个普通 app ,然后放.app 到越狱项目的工程下, build 在 deb 包里安装到 /Application 目录下,设置界面也没什么,主要看你的插件需不需要人为控制才有没有用户界面。
5.越狱当然有各种分析工具 IDA , hopper 这些反汇编工具。
6.入门书推荐 iOS 逆向工程第二版,可在此书论坛 iOSRE 学习。
willsplashing
2015-09-11 12:22:09 +08:00
2. deb 只是一种分发软件的形式,你可以类比 exe 安装包,至于被安装的软件用什么语言开发都可以,最终都编译为 binary ,当然越狱插件应该是以 OC 为主的
5. 越狱最主要的一步就是得到 root 权限,也就是让系统在 root 状态执行一段你自定义的 code 就成功了。常见的比如 stack buffer overflow , double free 等等,当然简单的漏洞 apple 都堵上了,可能会用到一些 fuzz testing 的工具来自动分析。
6. 建议从 OC 学起,逆向什么的 tool 对 swift 生成的 binary 支持还不是太好
loveis0
2015-09-12 12:42:09 +08:00
@dimaginexus 非常陈恳的谢谢前辈的指导,辛苦前辈手打了这么多字了。很抱歉这两天上课拖到现在才来回复,我会好好对照参悟,并且先把 C 和 OC 好好学习的。
loveis0
2015-09-12 12:43:27 +08:00
@willsplashing 这位前辈也好热心,补充了很多建议,我会用心参悟的,让我在 V2EX 切实感受到了温暖! O (∩_∩)O~~很开心,谢谢前辈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/219824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX