V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kljsandjb
V2EX  ›  iOS

在越狱 iPhone 上跑 QEMU 命令行

  •  
  •   kljsandjb · 2020-03-22 05:41:18 +08:00 via iPhone · 1887 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有个在 iOS 平台直接跑虚拟机的项目很火,传送门UTM

    我正好手头有个越狱的 iPhone,在想着要不要弄成像在主机上直接 run 的效果,UTM app 的话是把 qemu 编译成了动态库加载到 iOS app 进程里,看了下作者 fork 的 qemu 源码的改动,我参考了一下,交叉编译了理论上可以在 jailbroken idevices 上跑的可执行程序,当然还需要链接一些其他的库,比如 libpixman 、libusb 等,我编译了这些库然后最终编成功了,安装到了 iPhone 的 file system 中,尝试过运行诸如 qemu-system-* 各种平台的模拟,但是一直提示签名问题(当然已签名),但是在 lldb debug 模式下可以跑。 其他的非模拟二进制文件可以正常运行没问题( qemu-io,qemu-img,qemu-ga 等)。

    附上跑的截图,有兴趣的可以一起玩玩 V2erForiOS

    我把二进制文件都放在了这里
    https://github.com/k0Iry/qemu-ios-jailbroken

    第 1 条附言  ·  2020-03-22 06:14:46 +08:00
    https://github.com/k0Iry/qemu-ios-jailbroken/releases/download/0.01/binary.tar.xz

    假如大家有越狱的 iPhone,可以下载这里的文件试试,楼主环境是 iOS13.3,iPhone 8,里面 share 和 bin 文件夹的内容放在 /usr/local 相应的目录下,库文件建议放在 /usr/lib 目录下
    第 2 条附言  ·  2020-03-22 21:07:00 +08:00
    暂时在 lldb 里面跑成功了

    Iry-Tus-iPhone:~ root# ps -ef | grep aarch64
    0 2112 2111 0 1:11PM ttys000 0:00.64 lldb-10 /usr/local/bin/qemu-system-aarch64
    0 2120 2121 0 1:11PM ttys000 1:16.17 /usr/local/bin/qemu-system-aarch64 -m 1G -M virt -cpu cortex-a57 -bios /usr/local/share/qemu/edk2-aarch64-code.fd -drive if=none,file=/var/root/debian-10.3.0-openstack-arm64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:5555-:22 -nographic
    0 2148 2088 0 1:15PM ttys002 0:00.02 grep aarch64
    Iry-Tus-iPhone:~ root#
    Iry-Tus-iPhone:~ root#
    Iry-Tus-iPhone:~ root#
    Iry-Tus-iPhone:~ root# ssh -p 5555 [email protected]
    The authenticity of host '[127.0.0.1]:5555 ([127.0.0.1]:5555)' can't be established.
    ECDSA key fingerprint is SHA256:bP67kpas/+zYBqq38KdEDV+Xc0cgWRCY9o3oi9JDvrw.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '[127.0.0.1]:5555' (ECDSA) to the list of known hosts.
    [email protected]'s password:
    Permission denied, please try again.
    [email protected]'s password:
    kljsandjb
        1
    kljsandjb  
    OP
       2020-03-22 06:09:22 +08:00 via iPhone
    附上了 log,希望有玩越狱的大神帮忙看看问题,还是觉得挺好玩的假如能够在 iphone 上跑个模拟器,甚至作为后台进程运行
    kljsandjb
        2
    kljsandjb  
    OP
       2020-03-22 21:22:20 +08:00 via iPhone
    https://i.loli.net/2020/03/22/IWDAzPx1Ywa6QTM.jpg

    已经成功咯 看来没多少人关注嘛😄
    orzOEZ
        3
    orzOEZ  
       2020-03-22 22:49:28 +08:00 via iPhone
    小白表示看不懂
    kljsandjb
        4
    kljsandjb  
    OP
       2020-03-22 23:42:52 +08:00 via iPhone
    @orzOEZ 哈哈 就折腾玩玩儿 已不玩越狱好久了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:31 · PVG 00:31 · LAX 08:31 · JFK 11:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.