V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
loveis0
V2EX  ›  iDev

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

  •  
  •   loveis0 · 2015-09-11 00:34:03 +08:00 · 2780 次点击
    这是一个创建于 3140 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前言:
    首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。
    首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。
    首先重要的事情说三遍:本帖不讨论越狱好坏,安全不安全,或者是否排斥越狱。。。

    申明:我本人也不是为了装盗版 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 个问题非常真心恳求回答,希望知情的前辈可以告诉我。
    6 条回复    2015-09-12 12:43:27 +08:00
    l12ab
        1
    l12ab  
       2015-09-11 01:06:26 +08:00
    不懂越狱开发,但越狱的安装都是 deb 吧,是不是参考 deb 开发就可以了
    CareiOS
        2
    CareiOS  
       2015-09-11 09:18:49 +08:00
    去研究一下 theos, opendev 等工具
    我也想学,一直没有时间。
    dimaginexus
        3
    dimaginexus  
       2015-09-11 10:06:11 +08:00 via iPhone   ❤️ 1
    1.装 opendev , Xcode 即可开发。
    2.语言当然是 oc , c , c++都有会用到。
    3.语言都不清楚建议先学正常的 iOS 开发后再做越狱。你分插件的方法完全是按有没有用户界面来,这没什么意义。大部分插件其实都是生成一个动态链接库 dylib ,在你指定的进程启动时加载它。
    4.你所看到的有界面的 app ,就是先写完一个普通 app ,然后放.app 到越狱项目的工程下, build 在 deb 包里安装到 /Application 目录下,设置界面也没什么,主要看你的插件需不需要人为控制才有没有用户界面。
    5.越狱当然有各种分析工具 IDA , hopper 这些反汇编工具。
    6.入门书推荐 iOS 逆向工程第二版,可在此书论坛 iOSRE 学习。
    willsplashing
        4
    willsplashing  
       2015-09-11 12:22:09 +08:00   ❤️ 1
    2. deb 只是一种分发软件的形式,你可以类比 exe 安装包,至于被安装的软件用什么语言开发都可以,最终都编译为 binary ,当然越狱插件应该是以 OC 为主的
    5. 越狱最主要的一步就是得到 root 权限,也就是让系统在 root 状态执行一段你自定义的 code 就成功了。常见的比如 stack buffer overflow , double free 等等,当然简单的漏洞 apple 都堵上了,可能会用到一些 fuzz testing 的工具来自动分析。
    6. 建议从 OC 学起,逆向什么的 tool 对 swift 生成的 binary 支持还不是太好
    loveis0
        5
    loveis0  
    OP
       2015-09-12 12:42:09 +08:00
    @dimaginexus 非常陈恳的谢谢前辈的指导,辛苦前辈手打了这么多字了。很抱歉这两天上课拖到现在才来回复,我会好好对照参悟,并且先把 C 和 OC 好好学习的。
    loveis0
        6
    loveis0  
    OP
       2015-09-12 12:43:27 +08:00
    @willsplashing 这位前辈也好热心,补充了很多建议,我会用心参悟的,让我在 V2EX 切实感受到了温暖! O (∩_∩)O~~很开心,谢谢前辈。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5472 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:22 · PVG 15:22 · LAX 00:22 · JFK 03:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.