W
Worth Doing Badly
worthdoingbadly.com · Personal blog · on HN since 2018
A technical blog on reverse engineering and low-level experiments, such as virtual machines on jailbroken iPhones and booting Apple kernels in QEMU.
What HN saysHN commenters link it for hardware virtualization on a jailbroken iPhone 12 and for details on bootloaders and the iOS versus macOS differences.
35HN people shared it
16linked it in comments
20stories submitted
1.4Kstory points
10 months agolast shared
2018people per year2026
Most-shared posts
- 1Hardware-accelerated Linux virtual machines on jailbroken iPhone 12 / iOS 14.18 people · 243 points · first shared 2022 · 109 comments on HN
- 2Apps for which macOS applies compatibillity fixes5 people · 259 points · first shared 2018 · 125 comments on HN
- 3Jailbroken iOS can't run macOS apps. I spent a week to find out why5 people · 186 points · first shared 2021 · 64 comments on HN
- 4Learning VoWifi, VoLTE, and IMS: because I'm too Millennial to make a phone call3 people · 5 points · first shared 2021 · discussion on HN
- 5Crash Chrome 70 with the SQLite Magellan Bug2 people · 75 points · first shared 2018 · 10 comments on HN
- 6Booting a macOS Apple Silicon Kernel in QEMU1 people · 262 points · first shared 2020 · 70 comments on HN
- 7Almost booting an iOS kernel in QEMU1 people · 121 points · first shared 2018 · 19 comments on HN
- 8A kids' novel inspired me to simulate a gene drive on 86M genealogy profiles1 people · 94 points · first shared 2024 · 16 comments on HN
- 9Mac Accepted Any Root Cert, Making Code Signing Useless1 people · 74 points · first shared 2022 · 9 comments on HN
- 10VoLTE/VoWiFi Research1 people · 46 points · first shared 2022 · 3 comments on HN
- 11Get root on macOS 13.0.1 with CVE-2022-46689, the macOS Dirty Cow bug1 people · 6 points · first shared 2022 · discussion on HN
- 12Tutorial – emulate AIX 7.2 in QEMU (2018)1 people · 4 points · first shared 2021 · discussion on HN
- 13Tutorial – emulate an iOS kernel in QEMU up to launchd and userspace1 people · 3 points · first shared 2018 · 1 comments on HN
- 14I downloaded all 1,680,399 posts on Bluesky1 people · 1 points · first shared 2023 · discussion on HN
- 15Researcher tricks Twitter analysis website with adversarial inputs1 people · 1 points · first shared 2019 · discussion on HN
What HN people wrote when they linked it
bpye · 2026-01-10
Well there is a bootloader - on Qualcomm its even UEFI, but you don't have access to it.
https://worthdoingbadly.com/qcomxbl/
kuhsaft · 2024-10-08
They aren’t actually too similar. They both use XNU, but the memory model is completely different. On macOS memory can be paged to/from disk. On iOS it isn’t and applications must free memory when asked or be terminated [0].
iOS applications are sandboxed by the kernel, with no opt out. macOS applications are not sandboxed by default and are opt in.
Then there are the API and UI differences.
EDIT: That linked blog post in the parent blog post also shows how different the userspace is: https://worthdoingbadly.com/macappsios/
EDIT: iPadOS 16 enables virtual memory swap [1]
[0] https://developer.apple.com/library/archive/documentation/Performance/…
[1] https://www.apple.com/newsroom/2022/06/ipados-16-takes-the-versatility…
jbverschoor · 2024-10-08
Related: https://worthdoingbadly.com/hv/ (Hardware-accelerated virtual machines on jailbroken iPhone 12 / iOS 14.1)
kjkjadksj · 2024-08-25
You need to jailbreak the ipad and the path you will tread will be a bit unsupported, but its possible.
https://worthdoingbadly.com/hv/
sweetjuly · 2023-11-21
Not quite true. The hardware supports it but iOS does not.
https://worthdoingbadly.com/hv/
judge2020 · 2023-02-10
Best case scenario is to stop updating the OS and wait for a jailbreak, which does allow you to run full virtualization[0].
0: https://worthdoingbadly.com/hv/
kalleboo · 2022-12-27
Even Apple, the company that is usually seen as not caring about backwards compatibility, is known to do this in macOS! https://worthdoingbadly.com/appkitcompat/
Sirened · 2022-10-09
The most recent hardware actually do support ARM hypervisor extensions so you can actually run raw linux on iOS hosts :)
https://worthdoingbadly.com/hv/
kmeisthax · 2022-08-31
A14/M1 and higher all have the hardware for virtualization, nothing is fused off for "devices". iOS and iPadOS don't ship Hypervisor.framework but the kernel still recognizes the entitlements for using it. Apple will never sign provisioning profiles with those entitlements, of course; but on at least one particular OS version with a jailbreak you could set up hardware virtualization. See https://worthdoingbadly.com/hv/
The main problem is purely just Apple not seeing a use case for virtualization on a touchscreen. They need to let go of at least one Strongly Held Belief.
Anunayj · 2022-08-17
Ah I see, so I did find someone that tried to do this here [1], but it seems like they were not even able to connect to the SIP server. Bummer, I wonder if someone else has had success.
1. https://worthdoingbadly.com/vowifi/
floatboth · 2022-06-06
No, not yet (not without jailbreak, at least). https://worthdoingbadly.com/hv/ mentions that M1 iPads "already have Hypervisor support unlocked in the kernel" so they might be planning something for someday…
kop316 · 2022-01-09
This looks to be a follow up of:
https://worthdoingbadly.com/vowifi/
Which was a really good read!
I noted this however:
> However, VoLTE’s implementation is not compatible with our everyday VPNs and VoIP software. This report from Sysmocom shows that it would take months to modify Ubuntu Touch for VoLTE support.
I wonder why that is? I am using a Pinephone with Mobian right now, and a Librem 5 with PureOS, and both support VoLTE just fine.
bobbylarrybobby · 2021-01-16
Apple actually has implemented manual compatibility fixes for several third party apps. https://worthdoingbadly.com/appkitcompat/
sat_nam · 2018-12-15
Zhuowei Zhang (@zhuowei) published a proof of concept that crashes Chrome 70: https://worthdoingbadly.com/sqlitebug/
gwbas1c · 2018-05-21
I work on some Mac applications that, at times, try to exceed what MacOS applications are capable of doing.
They almost always break between MacOS releases. Usually the cause is that Apple improved various security restrictions in Gatekeeper. What tends to happen is that older builds work fine, but any new builds don't work well.
But, what's interesting is that the page at https://worthdoingbadly.com/assets/blog/appkitcompat/appkit_processed.… doesn't list any bundle hashes. I always assumed that Apple's hacks for backwards compatibility were tied to the bundle hash, and not the specific application.
nxobject · 2025-08-16
The achievement is massive - but if I understand what’s going on the title is misleading; I think it is more like running a patched macOS userland via chroot. From an outside point of view, the author is cryptic about context, but the technical details are even more fascinating. Some technical details in this thread:
https://www.reddit.com/r/jailbreak/comments/1mn7mk1/comment/n8319s9/
- Based on a POC done by Zhuowei Zhang few years ago, I think that is happening is that the author is using a filesystem from an existing macOS to run WindowServer and and enough of the supporting daemons.
https://worthdoingbadly.com/macappsios/
- Moreover, TFA’s solution requires a host iPhone Simulator to all Metal acceleration via XPC, using the same shim that provides Metal debugging.
To be clear, though, “iOS kernel provides enough facilities to run entire macOS userland” is an incredible discovery and achievement. It demonstrates that it is an order of magnitude easier to give iOS a genuine desktop environment than we would assume.