Live data from Hacker News

QEMU for iOS

github.com

101–110 of 150 posts

Re: QEMU for iOS

#101

Has anyone used this? What is the performance like?

It took about a minute to boot Alpine Linux on a debug build. It's currently about half an hour into booting elementary and it's just started the display server.

Update: about an hour in it got stuck trying to start the login service.

Re: QEMU for iOS

#102
If you want this on Android it is available in the Termux repository. If you have a flagship device it should be fast enough to be usable.

Re: QEMU for iOS

#103

Earlier quoted context omitted.

Security. Privacy. Long term support of hardware (environment). No carrier crapware.

> Security This is arguable. The amount of CVEs is pretty high for a closed-source platform. Several of those CVEs were exploited in the wild for years before being fixed.

I don’t see this being any worse than their competitors, and the long term support of hardware means that when they fix them you’re more likely to get the fix.

Re: QEMU for iOS

#104

> "Since iOS 13.3.1, it appears Apple has stopped allowing free developer profiles to sign dylibs." A terrible decision. Users should always be allowed, at the very least, to build and sideload their own code .

> Users should always be allowed, at the very least, to build and sideload their own code. You barely can anyway. Unless you pay $99/yr for a developer account, any self-compiled apps you install will expire after seven days. If you want your app to keep working, you need to plug your phone into a computer and recompile every single week. That's just not realistically usable for anything other than simple testing. Ye…

Yes, this restriction is a huge PAIN. Back in my Windows Phone days, I ran development builds in addition to the store versions of my apps as dog fooding, or even just prototypes I never finished. Now I have this kind of apps on a secondary Android phone, but no iOS apps despite using macOS and having iPhone a main phone. Apple is really shitting on developers and hobbyists.

Re: QEMU for iOS

#105
post #54

Earlier quoted context omitted.

Thanks for the amazing work, I thought about this a while back when I saw WINE Hangover for Android but this is even better (in some ways, at least). Sadly, the iPadOS/iOS 13.3.1 issue is a headache and the certain jailbreak tools which usually get around IPA signing aren't working either. Whilst most people are saying it's a bug on Apple's side I'm worried it's more than that. The removal of signed iPadOS/iOS 13.3 f…

I think the jailbreak IPA signing isn’t working because it needs the `get-task-allow` entitlement which idk if every tool is aware of. This entitlement is only given out in development profiles and not any distribution profiles so I can’t upload to TestFlight either. If Apple locks down what you can do with `get-task-allow` in the future then a jailbreak would be required to run this.

Curious what you use that for. My previous exposure for "get task" on Darwin/XNU is it's useful for reading or writing the memory of another process and suspending or resuming its threads, as in writing a debugger.

Re: QEMU for iOS

#106
post #54

Earlier quoted context omitted.

I think the jailbreak IPA signing isn’t working because it needs the `get-task-allow` entitlement which idk if every tool is aware of. This entitlement is only given out in development profiles and not any distribution profiles so I can’t upload to TestFlight either. If Apple locks down what you can do with `get-task-allow` in the future then a jailbreak would be required to run this.

Curious what you use that for. My previous exposure for "get task" on Darwin/XNU is it's useful for reading or writing the memory of another process and suspending or resuming its threads, as in writing a debugger.

The app pretends to debug itself, which tricks the kernel into allowing it to flip the permissions of pages between write and execute. To do this it needs the get_task_allow entitlement.

Re: QEMU for iOS

#107
post #44

Earlier quoted context omitted.

Google play has emulators, here are some examples [1] [2] It even has Bochs [3] Or am I misunderstanding something? [1] https://play.google.com/store/apps/details?id=com.explusalph... [2] https://play.google.com/store/apps/details?id=org.mupen64plu... [3] https://play.google.com/store/apps/details?id=net.sourceforg...

Yeah, could be allowed. I did a fast search and there were records of apps such as SuperRetro16 being kicked out. But I don't know if it's a policy that is poorly enforced, or the removals were for some other reason.

One off.

Re: QEMU for iOS

#108

Earlier quoted context omitted.

Curious what you use that for. My previous exposure for "get task" on Darwin/XNU is it's useful for reading or writing the memory of another process and suspending or resuming its threads, as in writing a debugger.

The app pretends to debug itself, which tricks the kernel into allowing it to flip the permissions of pages between write and execute. To do this it needs the get_task_allow entitlement.

Ah ok. So everything with a JIT will need this. I think I might even have read that somewhere long ago.

This is a weird thing by the way. It seems to me like you should be able to debug or do VM syscalls against yourself because there is no escalation of privilege. Debugging another process makes much more sense to block. But maybe my opinion is invalid because I also happen to think disallowing jit with kernel permissions is very silly. (Maybe dropping ability to do this in the style of openbsd's pledge(2) would be appropriate, but only for a process that really wants extra security.)

Re: QEMU for iOS

#109
I have been using iSH for many months to have a moderately sane CLI environment on my iPad, and bemoaning the App Store restrictions that prevent it from being better integrated and more popular.

I fear this will also never reach its full potential... but it is great to see.

Re: QEMU for iOS

#110

Earlier quoted context omitted.

The app pretends to debug itself, which tricks the kernel into allowing it to flip the permissions of pages between write and execute. To do this it needs the get_task_allow entitlement.

Ah ok. So everything with a JIT will need this. I think I might even have read that somewhere long ago. This is a weird thing by the way. It seems to me like you should be able to debug or do VM syscalls against yourself because there is no escalation of privilege. Debugging another process makes much more sense to block. But maybe my opinion is invalid because I also happen to think disallowing jit with kernel permi…

> So everything with a JIT will need this.

Actual JITs (ones blessed by Apple, not hacks like these) possess the dynamic-codesigning entitlement, and can just make RWX pages.

> But maybe my opinion is invalid because I also happen to think disallowing jit with kernel permissions is very silly.

Your opinion isn't invalid, but it goes against Apple's security model of iOS (namely: apps should not be able to modify themselves).

Post reply on HN