V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dungeonsnd
V2EX  ›  问与答

安卓机上能刷 iOS 系统吗?

  •  
  •   dungeonsnd · 2016-09-30 11:37:20 +08:00 · 6965 次点击
    这是一个创建于 3011 天前的主题,其中的信息可能已经有所发展或是发生改变。
    会遇到哪些困难? 比寻找一个新的越狱途径还难吗? 有没有中外的大牛已经探索过?
    52 条回复    2016-10-17 11:40:05 +08:00
    milugt
        1
    milugt  
       2016-09-30 11:40:09 +08:00 via iPhone
    你以为是装黑苹果的几倍难度?
    dungeonsnd
        2
    dungeonsnd  
    OP
       2016-09-30 11:45:24 +08:00
    不好说啊,不讲普通人安装,只说研究出方法的艰辛哦。
    相比探索出黑苹果的方法,黑 iOS 到安卓机上更难,至少不是一个数量级的。
    相比探索出新的越狱途径,个人觉得 与黑 iOS 到安卓上是一个量级的。
    但是貌似没有人去探索?
    EricCartman
        3
    EricCartman  
       2016-09-30 11:50:22 +08:00 via Android
    没意义
    panlilu
        4
    panlilu  
       2016-09-30 12:07:36 +08:00
    谁说没意义的,真的成功了华强北的 MTK iphone 就可以以假乱真了 23333
    RHFS
        5
    RHFS  
       2016-09-30 12:10:14 +08:00 via iPhone
    @panlilu 已经存在 5s 有
    panlilu
        6
    panlilu  
       2016-09-30 12:14:13 +08:00
    @RHFS 那个估计是拿 iphone 5c 的改装的吧、、
    RHFS
        7
    RHFS  
       2016-09-30 12:18:18 +08:00 via iPhone
    @panlilu 并不是 指纹是国产芯片
    zhgg0
        8
    zhgg0  
       2016-09-30 12:24:35 +08:00
    应该硬件不兼容吧
    bfchengnuo
        9
    bfchengnuo  
       2016-09-30 12:27:23 +08:00
    如果真搞出来了, iPhone 的销量会如何呢 o( ̄▽ ̄*)ゞ)) ̄▽ ̄*)o
    sunocean
        10
    sunocean  
       2016-09-30 12:34:55 +08:00   ❤️ 1
    简单点说, pc 机跟 mac 机在硬件上没有根本性差别,所以才会有黑苹果这种可能性,安卓机跟 iphone CPU 用的指令集都不一样,破解的难度比从头研发都难。
    Karsa
        11
    Karsa  
       2016-09-30 13:26:21 +08:00 via iPhone
    @sunocean 有么,我记得虽然 cpu 不一样,但指令集不都是 arm 么?
    Karsa
        12
    Karsa  
       2016-09-30 13:27:42 +08:00 via iPhone
    虽然确实没啥意义,但谁能从技术层面聊一下困难程度跟困难点啊
    VmuTargh
        13
    VmuTargh  
       2016-09-30 13:33:18 +08:00 via Android
    @Karsa iOS 架构封闭,基本上不给包出来。移植到安卓上面除非有像当年 hd2 那样底层露出来否则免谈。
    至于 iPhone 刷安卓,我就问一句,你上哪找驱动去
    mrlawrence
        14
    mrlawrence  
       2016-09-30 13:38:43 +08:00
    华强北那么多聪明人都没有攻克的难题,楼主你觉得会有人去攻克吗?当然我不是说绝对,只是相对而言。
    Karsa
        15
    Karsa  
       2016-09-30 16:07:23 +08:00 via iPhone
    @VmuTargh iOS 的封闭主要是说在软件层面的吧,但是发布出来的系统还是二进制的啊,大家都是 arm 的啊
    a13602441545
        16
    a13602441545  
       2016-09-30 16:34:53 +08:00
    那得叫大神,话说苹果系统了就是真苹果?拿来装逼
    ichanne
        17
    ichanne  
       2016-09-30 17:27:48 +08:00
    不可能实现,每个硬件都要驱动程序,而驱动程序往往都需要硬件生产商来写,苹果那些独有的硬件驱动谁去写?
    hpeng
        18
    hpeng  
       2016-09-30 18:43:34 +08:00 via iPhone
    倒过来应该容易一点
    VmuTargh
        19
    VmuTargh  
       2016-09-30 18:48:53 +08:00 via Android
    @Karsa 你找高通看看丫给不给驱动
    qiyuey
        20
    qiyuey  
       2016-09-30 19:21:53 +08:00 via Android
    看到列表的时候,我在想:谁把我的账号黑了,来问这么**的问题
    gemini767
        21
    gemini767  
       2016-09-30 21:17:15 +08:00 via Android
    @Karsa 搞笑呢,不是简简单单一个 arm 就能搞定一切的,你显示需要驱动吧,电源管理需要驱动吧,就最简单的 USB 也要有驱动呢?一个 arm v7 也就是一个指令集,啥也没用
    sudo123
        22
    sudo123  
       2016-09-30 21:38:50 +08:00
    你疯了吗
    rhen
        23
    rhen  
       2016-09-30 22:05:06 +08:00 via Android
    唯一有可能的是等苹果适配吧,再说 iOS 是闭源商业程序,苹果可以告的,法律和技术都不通
    imgalaxy
        24
    imgalaxy  
       2016-09-30 22:16:55 +08:00
    上古时代的 HD2 貌似有案例 但是具体过程不了解

    时间太久了 记忆可能出现偏差
    zhujinliang
        25
    zhujinliang  
       2016-09-30 22:18:21 +08:00 via iPhone
    电脑有个边边角角的驱动不好就算了,比如说电源管理不好,睡眠唤醒有问题,大不了禁用,声卡、 Wi-Fi 驱动有问题,可以选择换硬件,用 USB 设备
    手机上要是一个设备驱动不好,闹心去吧
    sammo
        26
    sammo  
       2016-09-30 23:50:55 +08:00 via iPhone   ❤️ 1
    搜 机甲,一个所谓的 iOS+android 的效果
    designer
        27
    designer  
       2016-09-30 23:56:20 +08:00
    @sammo 应该只是调用显示器吧
    http://www.jijia.com/
    Karsa
        28
    Karsa  
       2016-10-01 07:15:49 +08:00 via iPhone
    @gemini767 arm 指令集不是能运行程序的基础么?然后驱动本身就是跟程序分阶段吧。安卓本身能运行,肯定已经有驱动了啊,而且是已经能运行在当前安卓手机上的。
    Karsa
        29
    Karsa  
       2016-10-01 07:18:23 +08:00 via iPhone
    @zhujinliang 我们只是从技术层面讨论一下可执行性,以及难点和难度,脑洞开起来,卢克 ~
    Karsa
        30
    Karsa  
       2016-10-01 07:24:08 +08:00 via iPhone
    @sammo 这难道不是一个胶带把两台手机绑起来?好吧,电池可以两个手机用。
    hinkal
        31
    hinkal  
       2016-10-01 11:30:58 +08:00
    学过计算机组成原理的都应该知道是可以的吧。别说,系里嵌入式方向的研究生就给嵌入式设备刷上了 iOS 。
    U2FsdGVkX1
        32
    U2FsdGVkX1  
       2016-10-01 16:03:32 +08:00
    @sunocean 我有一个小问题,苹果的处理器以及骁龙、 MTK 处理器不都是 ARM 指令集吗,我个人觉得不只是参数上面有点不同吗……为什么无法通用?
    gemini767
        33
    gemini767  
       2016-10-02 00:11:21 +08:00 via Android
    @Karsa ....还是要先了解基础吧,不知道你了解到什么可以认为闭源的软硬件可以用开源项目互刷,首先 arm 是卖 IP ,同时会带着 IP 的指令,但是每一家拿到 IP 后怎么做 Soc 就是另一回事了,比如苹果在一个 Soc core 里加了 n 多个 system ,那么你用一直通用的方式去 load 这个 chip 是完全不起作用的,或者烧坏某些 chip ,不管什么开源的 OS 都是和硬件打交道的,他连硬件内部怎么通都不知道,在牛的开源也没用
    gemini767
        34
    gemini767  
       2016-10-02 00:15:40 +08:00 via Android
    @Karsa 我记得之前看一个报道,说高通其实就是个卖基带的,顺便送你个 CPU ,所以 arm 只是核心控制器,不代表手机就是 arm 呢
    sunocean
        35
    sunocean  
       2016-10-02 00:28:57 +08:00   ❤️ 1
    @U2FsdGVkX1 我那种说法有点欠考虑不同的地方其实不光是指令集(基本 apple 每代新 CPU 指令集跟同时代的其他芯片有所不同 Apple 要领先一代),最大的不同在于外设,简单的上一张图(随便找了一张)来说明一下吧。

    arm 系列架构和 x86 不一样的地方在于 x86 的 CPU 是独立的,而 arm 的 core 是封装在芯片里面的一部分,除了 arm core 之外所有的部分都称为外设,可以由生产商随意裁剪增加。 arm 的一块芯片 就相当于普通的电脑的 CPU 加主板加外设( SoC )。 不说软件,硬件就方方面面都不同怎么兼容?
    Karsa
        36
    Karsa  
       2016-10-02 01:14:51 +08:00 via iPhone
    @gemini767 只是想探讨了解一下中间的技术难点在哪里,并没有自己得出可以用开源刷闭源的内容啊。

    另外,关于硬件底层如何运行软件这块,我确实不是很了解,所以才想知道是为啥。根据你说的那些术语来看,最起码在这方面你是比我更了解,但可否请你更简单的说明一下撒。举个例子最好~,或许我不懂,但也许能引出更深入的讨论也说不定不是么?
    Karsa
        37
    Karsa  
       2016-10-02 01:27:40 +08:00 via iPhone
    @gemini767 另外,其实我内心是觉得,类似的事情大多数并不是不能做,而是因为代价太大而不值得。

    比如 SoC 虽然被应用,但这些最终的执行也是可以用 cpu 模拟或者直接用 cpu 执行的吧,最终无非是要破解并且重写这部分系统的代码。这些环境是可以被模拟的,那我们还有什么问题么?

    另外关于基带的那部分我没有太明白你的意思,还希望能详细的帮我解释一下,谢谢你咯?
    dungeonsnd
        38
    dungeonsnd  
    OP
       2016-10-11 08:56:29 +08:00
    你们分析得好专业,受教了。
    gemini767
        39
    gemini767  
       2016-10-11 23:56:47 +08:00 via Android
    @Karsa 你没有驱动, IO 端输入进来的数据是什么,加几减几都不知道,怎么让 CPU 执行?驱动就是去理解屏幕,基带等等送进来的数据是什么?你可以简单的这么理解,虽然表达的不对
    Karsa
        40
    Karsa  
       2016-10-12 10:09:23 +08:00 via iPhone
    @gemini767 如果程序本身的执行没有问题,那驱动不是相关的硬件商本来就有的么?既然代码可以运行,那驱动也不在话下啊。
    gemini767
        41
    gemini767  
       2016-10-14 00:06:39 +08:00 via Android
    @Karsa 。。。怎么解释不清楚了呢。。。没有那么多本来,你到那个硬件商要驱动去,嵌入式不跟 x86 一样,有一个 general devicer ,嵌入式的驱动,每个厂商都不一样,你用 Windows ,你插那个显示器都可以亮,手机屏幕就不一样,你用三星 AMOLED 屏,那你找三星要驱动去,你用 Sony 的 LCD 驱动肯定点不亮啊
    Karsa
        42
    Karsa  
       2016-10-14 13:14:19 +08:00 via iPhone
    @gemini767 我的意思是对于同一台手机来说,既然它用安卓系统是可以正常使用的,那是不是就是意味着本身的驱动就已经存在了。然后本质又回到我们讨论的核心问题,这个驱动能不能在同一台手机的不同系统里面运行。所以我才说,如果系统本身的机器码可以运行,那么驱动不应该是障碍。
    gemini767
        43
    gemini767  
       2016-10-15 00:48:48 +08:00 via Android
    @Karsa sorry ,这个时间忒长了,我都忘了你的主题了,你说的是 Android 机上 loadiOS ,我当时说的是 iPhone load Android 的不可能。如果说 Android 机器 load iOS 更简单了, iOS 都都不开源,你从哪弄 source 去,没有源码你如果编译到 Android 机器上起
    gemini767
        44
    gemini767  
       2016-10-15 00:54:12 +08:00 via Android
    @Karsa Android 的开源也是指内核的开源,驱动层都是自己写的,完全
    不是 GCC 实现,走的是 Apache license ,所以硬件厂商提供闭源驱动才可以 run Android 的,所以即使是 Android 机器,你也不意味着拿到驱动了,不信你可以买个 Nexus 看看,怎么弄到驱动的 source
    Karsa
        45
    Karsa  
       2016-10-15 11:03:20 +08:00 via iPhone
    @gemini767 其实我的问题是已经编译好的系统是否能在安卓手机上运行。大家都是 arm 架构,应该共享类似的指令集,那么运行系统本身是不是有操作性。

    再简单点,没有操作系统,只有一小段相同的代码,是不是应该同时可以在安卓手机和 iPhone 上运行?如果不能,为什么?如果梦能,那么在复杂度上升到整个系统的过程中哪里出现了问题,问题的范围有多大,绕开这个问题最终让安卓手机上运行 iOS 是否可行?
    gemini767
        46
    gemini767  
       2016-10-15 13:40:22 +08:00 via Android
    @Karsa 好的,就你提出的问题,回答是不可能,你应该先动手实践一下, Android 的 Nexus 可以自己去手动 build 系统,他是你需要构建 build 这一整套工具。

    然后就这下一个问题,也是不可以,你写的代码是人看懂得,机器不懂,编译的时候要翻译成 01 ,如果你没有编译器去吧 while true 编译成对应系统对应硬件的 01 的话,完全没戏。

    问题就此结了吧,我想知道楼主是在校学生?
    Karsa
        47
    Karsa  
       2016-10-15 13:56:50 +08:00 via iPhone
    @gemini767 额,如果已经是机器码了呢?
    gemini767
        48
    gemini767  
       2016-10-16 01:49:16 +08:00 via Android
    @Karsa 。。。你抱着机器码没有用,他就等于你 win 下的 exe 文件,相同硬件上你系统文件,内存调度也都不一样啊,就很简单,你 exe dll 文件放在 Mac Linux 跑不了,操作系统就是个硬件的应用程序,你不同的思想,硬件的调度方式也不一样

    建议你还得自己动手 build 一个已有的 Android 看看怎么回事吧,感觉还是想的太多,做的太少
    Karsa
        49
    Karsa  
       2016-10-16 13:08:20 +08:00 via iPhone
    @gemini767 你说的系统中程序的执行是另外一回事了,那个层级已经隔着一个操作系统或者在系统里面了。粗暴一点就是说我想说 iOS 能不能运行在同样是 arm 系统的安卓手机上,你说 iOS 系统中程序文件格式线程调度跟安卓不一样,这个有点偏题的感觉啊。

    如果从最初来说,你会发现同一个机器上的汇编代码也就是机器码是一样的,那么系统不能兼容是从什么时候开始的,有没有可行の方法来进行不是很复杂的修改绕过去。
    gemini767
        50
    gemini767  
       2016-10-16 13:23:28 +08:00 via Android
    @Karsa 唉。。操作系统也是程序啊,应用程序对于操作系统就相当于操作系统对于硬件统一接口,你硬件即使一样,系统不一样怎么运行。我举的例子反了,应该是对于同样的 win 你能跑 Linux 或者 Mac 的代码吗?

    怎么说,还是想得多做的少,我觉得你按照文档编译一次了解下流程再说吧,我就不再回了
    Karsa
        51
    Karsa  
       2016-10-16 15:49:28 +08:00 via iPhone
    @gemini767 怎么有感觉你在找优越感啊?每回复一次就是想的多做得少,我们可以稍微耐心点想清楚么?你说不同的系统不能运行在相同的硬件上,那我想问黑苹果是怎么回事? iOS 系统本来就是对 macOS 的剪裁修改,怎么就不能运行在其他硬件上。你自己有没有先分清楚操作系统跟应用程序还有驱动程序之间的关系呢?

    我总以为既然愿意讨论问题不是应该更心平气和的讨论问题的核心,而不是绕过问题的信心,而后秀优越贬低提问者?

    也许我理解错了,不过确实感觉讨论技术问题不应该是吵架,否则真心无趣。

    另外,想多做少,也许我有这个问题。但从你绕开问题的回复来看,也许你确实编译过系统,做过许多东西,但是你关于系统整体的理解感觉确实多少有点缺失哦。
    zuotech
        52
    zuotech  
       2016-10-17 11:40:05 +08:00
    当然不能直接刷, 因为硬件不一致,底层的驱动会报错, 所以能不能设计一种手机去实现 ios 的安装呢, 以我多年经验, 我觉得有两种方法
    1. 模仿 ios 的硬件, 你把 android 机器的硬件做的跟 ios 一样, 那我想 ios 也是可以安装的
    2. 破解 ios 的源码, 你源码都有了, 问题出在哪都可以解决
    编的我自己都相信了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2846 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:05 · PVG 14:05 · LAX 22:05 · JFK 01:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.