m132 19 hours ago

Note that, unlike Corellium, this isn't about emulating an iPhone. Apple is providing an iOS kernel for Virtualization.framework in PCC/cloudOS images and this project pairs it with the iOS user-space and patches to make everything run. Applications can very easily tell it apart from the real thing.

More details here: https://github.com/wh1te4ever/super-tart-vphone-writeup

root9876 1 day ago

> during iOS setup, don't pick Japan or the EU as your region (extra regulatory checks the VM can't satisfy)

I'm curious what are these checks

  • rootnod3 1 day ago

    For Japan it might be the Felica chip.

    • koito17 1 day ago

      That would surprise me. I don't recall having to change my iPhone's region after moving to Japan. Transport IC cards in Apple Pay have "just worked".

      I am vaguely aware that some phone manufacturers silently remove certain NFC hardware (or disable some driver) in order to avoid paying Sony patent fees. Apple doesn't seem to do that, though.

      • robert-boehnke 19 hours ago

        There were iPhones with Japan-specific hardware for transit cards in the past but as of a couple years ago, all iPhones have been compatible.

        • numpad0 8 hours ago

          Only iPhone 7 had that limitation. 8 and later don't, and that was since like a decade ago.

  • benoau 1 day ago

    It will be to prevent access to third-party app stores as both the EU and Japan legislated they must be allowed.

    > In a support document about alternative app marketplaces in the EU, Apple explained that “device eligibility for alternative app marketplaces is determined using on-device processing with only an indicator of eligibility sent to Apple.” In practice, iOS users in the EU who want to install alternative marketplaces will need to set the country or region of their Apple ID to an eligible country or region. Moreover, they will also need to be physically located in supported EU countries.

    > In the case iOS users in the EU leave eligible regions, Apple will offer a “grace period” until apps downloaded from alternative app stores can no longer be updated. “If you’re gone for too long, you’ll lose access to some features, including installing new alternative app marketplaces. Apps you installed from alternative app marketplaces will continue to function, but they can’t be updated by the marketplace you downloaded it from,” the company explained.

    https://www.thurrott.com/apple/298862/apple-adds-some-condit...

    • dingdongditchme 1 day ago

      Wait so a third party app-store is allowed in the EU? I was not aware these even existed...

      • aaronbrethorst 1 day ago
        • DANmode 1 day ago

          Any working way to spoof your locale to trick this into any form of usability?

          • aaronbrethorst 23 hours ago

            I have never tried. I'm sure there are some reddit threads about this though.

          • surajrmal 23 hours ago

            You need to fake the cell towers and change your accounts billing address. It's not trivial.

            • cute_boi 6 hours ago

              changing account billing is easy, but how to simulate fake cell tower, is there no tools in amazon?

      • xkgt 1 day ago

        It is wild that Apple finds it cheaper to build and maintain different App store behaviors than to simplify and make alt app stores available in all markets. Other governments/markets don't care?

        • tonyhart7 1 day ago

          "Other governments/markets don't care?"

          its the least of their problems

          • grim_io 1 day ago

            There's an endless supply of bodies of water to be renamed.

        • benoau 1 day ago

          It's a very slow process, first there is investigations, then legislation, then enactment, then enforcement which is separately a very slow process. It requires a lot of willpower to get and keep the ball rolling and in fact nobody has even achieved the full extent of what they require yet! The EU may still be years away from meaningful compliance, Japan has only taken baby steps forming a new bureau just to enforce compliance of two companies widely accused of malicious compliance.

          And then there is additional discouragement and pressure in the form of sanction and trade deal threats for regulating American tech platforms.

          • exe34 23 hours ago

            > And then there is additional discouragement and pressure in the form of sanction and trade deal threats for regulating American tech platforms.

            What people don't realise is that local companies aren't just competing with each other, they're competing against the US military.

        • surajrmal 23 hours ago

          Who said it's cheaper?

        • unrented7977 10 hours ago

          It's vastly more profitable to maintain their monopoly on iOS apps and the 30% cut than to allow users to stop paying apple a cut of their transactions.

      • f6v 17 hours ago

        It’s like a cookie banner. Absolutely useless initiative.

        • roblabla 16 hours ago

          As someone using AltStore PAL to install some third-party apps that would never be allowed on the App Store (such as emulators and manga readers), I heavily disagree.

          • port11 7 hours ago

            Everything that didn’t turn out exactly like some people wanted is useless or the Worst Thing Ever — which is a boring and cringe rule of the internet.

      • chadgpt3 3 hours ago

        Apple is required to have a process to approve them. Apple has not approved any. Apple is not required to approve any.

        • holycrapwhodat 12 minutes ago

          > Apple has not approved any...

          They've approved - at the very least - AltStore, Epic Games Store, Aptoide, Onside, and Setapp Mobile.

  • astafrig 1 day ago

    In addition to the third-party installation capability mentioned by siblings, Japan also has a regional capability for reassigning the side button to a third-party voice assistant (`com.apple.developer.side-button-access.allow`).

    • ajaieadad9 21 hours ago

      I also found out the Chinese version has the ability to block an app for accessing both mobile data and Wifi/WLAN data.

      All other versions only allow denying mobile data to an app, not Wifi.

      I really wish there was a way to enable this feature.

      • TalkingCodeMonk 19 hours ago

        This is a strong indicator that Apple's privacy claims are little more than a virtue signal. Network sandboxing an app is arguably the strongest privacy protection measure possible.

      • tancop 17 hours ago

        Xiaomi phones support it in all regions. Think about it, a company famous for putting ads in system apps has the feature but "privacy conscious" Apple literally put in extra work to disable it everywhere it's not legally required.

        • close04 12 hours ago

          That iOS toggle isn’t about privacy but about mobile data usage. Users with data caps can limit the usage for non-essential or high data volume apps (streaming or cloud storage apps come to mind).

          • mthoms 12 hours ago

            I think the point is that the code path to deny network access for arbitrary apps exists (at least according to this comment):

            > I also found out the Chinese version has the ability to block an app for accessing both mobile data and Wifi/WLAN data.

            Yet Apple is choosing not to enable it for everyone. It seems like it would be an easy and obvious privacy win, no?

  • amelius 18 hours ago

    I'm tired of Apple and its stupid rules, and its arrogant assumption that it is better than a democracy.

    • close04 12 hours ago

      Companies have never been “democracies”. Most companies are more like dictatorships internally (for employees) and past a certain size also externally (for customers). Everything is dictated by a small group of leaders and shareholders not chosen by either employees or customers.

      If you really want to imagine them like democracies, you are voting with your wallet. Maybe you’re just in the minority.

      • amelius 10 hours ago

        Nobody said companies _are_ democracies ... you're reading something that is not there.

        The point is that Apple thinks it can somehow bend the rules of the EU that were established democratically. As if users are better off with Apple's rules.

hamandcheese 1 day ago

This seams neat, but I'm not sure I understand the purpose/difference between this and using the iOS simulator.

  • restes 1 day ago

    The iOS Simulator consists of (some of) the userspace components of iOS compiled to run on macOS. This would be a full iPhone image running as-is via virtualization.

    • RussianCow 1 day ago

      That explains the difference, but what's the purpose?

      • a012 1 day ago

        You can test your application, game, website without a physical phone?

        • leoh 1 day ago

          Can do that with the simulator too

          • refulgentis 1 day ago

            Running on ported userspace components, with a shim, isn't the same as running on the OS in itself.

            That really matters, sometimes.

            But not the vast majority of the time.

            (source: been coding iOS since pre-SDK iPhone OS 1.0)

            • RussianCow 1 day ago

              Can you give some examples of where it matters? I'm genuinely curious.

              • bradfitz 1 day ago

                Last I checked, VPN network extensions wouldn't run in the simulator.

              • afavour 18 hours ago

                It’s been years but I ran into a problem with a notification extension years ago. Worked fine on simulator, not on device. Turned out it was because I was using a HEIF image and (I think) the on-device extension was trying to use hardware decoding and didn’t have access to it. Meanwhile the simulator had no such sandboxing restrictions.

                The difference doesn’t matter until it does, and then it’s infuriating to work out what’s going on.

                • gitgud 4 hours ago

                  > The difference doesn’t matter until it does, and then it’s infuriating to work out what’s going on.

                  I love this quote, reminds me how annoying it can be when something isn’t reproducible locally… only in production…

            • dingdongditchme 1 day ago

              Is the simulator faster than this? I would suspect so.

          • cfn 21 hours ago

            I have had instances where the app runs fine on the simulator but crashes on the device. This might solve that.

      • leoh 1 day ago

        If functional, you can download apps from the App Store, sign in to iCloud.. probably do a bunch of agentic stuff as if you had a real device

      • VladVladikoff 1 day ago

        Spam. Click farms. Etc.

        • trollbridge 1 day ago

          It would also make testing far easier. I got bit with something that failed on real life iPhones with language set to es_US that worked fine on the simulator.

        • trueno 23 hours ago

          oh. is this why icloud spam texts are running wild now

          • greggsy 23 hours ago

            No, it’s just trivial to generate iCloud email addresses that won’t get picked up by spam filter.

      • whynotmaybe 1 day ago

        The simulator doesn't have a camera. The android emulator allows to configure the camera and use a picture, it's very handy to test your qr/barcode reader without needing to use a physical device. Maybe this also allows to use an image as camera?

      • gcampos 1 day ago

        You cannot run Network Extensions on the simulator

      • landr0id 22 hours ago

        It's useful for security research since you can do kernel debugging and inspection of the device not possible in the simulator.

        As others pointed out it's also useful for e.g. click/spam farms which need a "real" iPhone.

  • ChrisMarshallNY 1 day ago

    The simulator is a completely different OS. It may even still be using Intel.

    I always figured that Apple never set up a true emulator (like what Android does), because they didn't want people exploring their OS with a debugger.

    • kridsdale1 1 day ago

      Incorrect. The iOS simulator is and always has been, simply iOS frameworks running fully natively on macOS. It’s best to think of it as an alternative window managers but the apps are native Mac processes. They can be seen and debugged via the terminal using top and ps and lldb alongside all other processes. They just present gui via the Simulator Mac app container.

      They do not live in a VM and are certainly not emulated at an instruction set level. They are Mac apps.

      • ChrisMarshallNY 1 day ago

        Ah. That makes sense.

        I would think that "Mac apps," means that they are, actually, a different OS (I actually already knew that, which was why I said what I said. The Intel thing was a spitball).

        But one of the few joys geeks get, these days, is telling other geeks they are wrong, so I feel as if I’ve done my bit to make this a happier place.

  • speedyapoc 1 day ago

    Looks like this tool can provide a jailbroken environment for the latest iOS versions whereas one does not exist on iOS simulator or a real device

  • zffr 23 hours ago

    Here are some reasons to use this instead of the simulator: security research, testing, automation

  • dagmx 23 hours ago

    The simulator is a different SDK target than iOS itself.

    You have to compile completely independently for it, and depending on your dependencies they may not compile for the simulator.

    Additionally the simulator runs a really ancient and feature restricted version of Metal. That means you can’t test a lot of graphical things that the hardware actually supports. I’m not sure if this supports GPU passthrough but the macOS VMs do, so that alone would be a huge improvement if possible.

thomc 18 hours ago

Fantastic project, I use it regularly to test apps and there is a vphone-mcp which allows agents to control it, take screenshots and navigate the UI!

dsalzman 12 hours ago

I better not get more spam iMessages!!

boredatoms 1 day ago

Is this what apple does in xcode?

  • vlovich123 1 day ago

    If you’re talking about the simulator, no. That doesn’t virtualize - it literally just runs it locally on your machine. Less RAM overhead and CPU since it uses your normal instruction set and doesn’t run a separate kernel and userspace.

    • valleyer 1 day ago

      At least historically, it actually did run its own entire userspace, including daemons (all the way to launchd, IIRC), etc. All compiled for Intel, back in the day. Shared the kernel though.

      Many of the nominally shared system pieces between Mac and iPhone (like Foundation) actually had many subtle compile-time differences.

discordance 16 hours ago

Is this safe?

There are some binaries in scripts/resources that you need to run as root. No idea what's inside them.

wartywhoa23 7 hours ago

Can Appium be used to control this?

chews 1 day ago

What a release! Congrats to the builder, lots of great work done here and in IOS profiling in general has been done here recently. Corellium went research only and I lost the ability to actually profile my applications the way I'd like. I've got a fun thing over coffee in the morning!

  • sumedh 1 day ago

    Will this project make it easier to performance test Apps on the virtual iPhone?

    • chews 18 hours ago

      Ya totally, it's real hardware.... I mean, the PCC machines are actually m5's but ya.

      • saagarjha 5 hours ago

        I don't really think it is a super accurate performance simulator

catlifeonmars 1 day ago

Does this include a virtual baseband?

  • halfcat 22 hours ago

    No, only virtual GarageBand

    • catlifeonmars 11 hours ago

      You have my angry upvote.

      GarageBand is an excellent app.

TylerJaacks 1 day ago

This project is really cool its a shame you have to disable or partial disable SIP which can break some things.

  • fishfasell 1 day ago

    Yeah real shame that I know I could never run this on a corporate machine and only ever as a hobbyist.

    • userbinator 1 day ago

      That means you're working for the wrong companies ;-)

    • sneak 23 hours ago

      Have corporate buy you a research Air that isn’t on the MDM.

      • catoc 22 hours ago

        If corporate wants they can still accept/trust a machine with partially disabled SIP on the MDM

ironqcold 1 day ago

Interesting project. If it actually works it opens up a ton of possibilities for testing and reverse engineering.

dvduval 1 day ago

Will there ever be a day where I could run this on a PC or something like it?

  • greggsy 23 hours ago

    Probably not, but you can run it on a Mac today.

leke 22 hours ago

Can this be used to test the phone's browser on localhost?

  • fredoliveira 18 hours ago

    This is virtualization, so localhost will just be the virtual iphone itself. But you should have some command of how hosts are resolved, so you can always point the browser to the device hosting what you want to test, no?

    Even easier, of course, is just using the iOS simulator included with xcode, which runs on your host computer. There, localhost resolves to your host computer.

leoh 1 day ago

Will Apple break this?

  • rvz 1 day ago

    They will find a way to break it.

  • pino83 7 hours ago

    That's how all your cat-and-mouse games eventually end.

orangea 1 day ago

what is "PCC"?

  • busymom0 1 day ago

    Private cloud compute I think. I learnt about it today too from this reddit post which mentions how:

    > At WWDC, Apple announced that starting in the 27.x versions of iOS, macOS, etc., devs would be able to call Private Cloud Compute directly from Swift with no additional API configuration. Presently, the only way to get free cloud inference is by joining the App Store Small Business Program.

    https://www.reddit.com/r/appledevelopers/comments/1vztibh/re...

senor_digimon 23 hours ago

Can this be used for account recovery?

zuzululu 11 hours ago

this is potentially useful for me do you know if this can fully handle callkit?