nyansatan / virtual-iboot-fun Goto Github PK
View Code? Open in Web Editor NEWAnother Virtualization.framework demo project, with focus to iBoot (WIP)
Another Virtualization.framework demo project, with focus to iBoot (WIP)
The first step (virtualization_test -r AVPBooter.vmapple2.patched.bin
) works fine, and afterwards I'm able to get plausible results from irecovery -q
. But the second step (recovery -f iBSS.vma2.RELEASE.patched.img4
) seems to hang something inside the VM (irecovery -q
now fails after a timeout), and I need to CTRL-C to stop virtualization_test
.
I get the same results on macOS 12.6.7, 13.4.1 and 14 Beta 2. My guess is that there's something wrong with the irecovery
that I'm using, or maybe with the libusb
that it's using. My copy of it comes from Homebrew (brew install libirecovery
), and ultimately from libimobiledevice
. My libusb
also comes from Homebrew. Both seem quite up to date.
So which irecovery
did you use in your tests? And if possible please let me know the version of libusb
that it used.
I'm going to be spending a lot of time debugging this problem. But I'd appreciate any information you can give me (if possible in addition to what I've already asked for). Also let me know if you think I'm on the right trail.
Ultimately I'm hoping to use Apple's Virtualization framework's forceDFU
setting to hack their VMs enough to work around this design flaw. I've patched UTM to support forceDFU
on macOS 12 and up, and it seems to work very much like your virtualizaton_test
. irecovery -q
returns plausible results. And it even gets into the same "hang" whenever I try to use irecovery -f
on it.
It appears that the patch files you included do not match the iBSS (iBSS.vma2.RELEASE.im4p) and iBEC (iBEC.vma2.RELEASE.im4p) included in 12.0.1 (21A559) IPSW. (e.g. iBSS patch is for 296696 byte file, but the iBSS included in UniversalMac 12.0.1 IPSW is 296735 bytes; this results in the patched file that cannot be read by img4). After attempting to create IMG4's of the iBSS/iBEC with patch + fixed size vs. without patch, it results in either nothing, or an iBoot crash.
Not sure if I am also doing something wrong. AVPBooter patch is fine (looks good in IDA Pro and can boot unpatched iBSS).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.