LinusHenze / Fugu14

Fugu14 is an untethered iOS 14.3-14.5.1 jailbreak
MIT License
1.41k stars 314 forks source link

fix missing arm64e slice from FuguKrw plugin #235

Open dlevi309 opened 2 years ago

dlevi309 commented 2 years ago

I'm guessing it's incomplete through because the point in the jailbreak that generates the trustcache for the library needs to be adjusted to include both archs.

Edit: in case anyone is wondering why this is needed, /usr/lib/libkrw/1_unc0ver.dylib is a symlink to /usr/lib/substitute-inserter.dylib which only includes an arm64e arch. By default, libFugu14Krw.dylib only includes an arm64 arch.

If any users here have noticed stuff like dimentio, fouldecrypt, etc. don't work correctly, you're welcome to grabbing a prebuilt version from this link (which you should thank @halo_michael for) also see https://github.com/LinusHenze/Fugu14/issues/200

badger200 commented 2 years ago

The really weird thing is I got NonceSet143 and dimentio to work by simply renaming the libFugu14krw.dylib EDIT: libkernrw.0.dylib!!

dlevi309 commented 2 years ago

@badger200 you mean by replacing it with the new file from the zip linked right?

badger200 commented 2 years ago

@dlevi309 No! I mean literally breaking it so the file cannot be found! I stumbled upon this solution by total accident (I was experimenting with swapping various versions of libkrw to try anything to get my A12X iPad Pro iPad8,4 to retrieve Nonce so I could finally save SHSH blobs) when it finally worked WITHOUT the libkrw!

dlevi309 commented 2 years ago

@dlevi309 No! I mean literally breaking it so the file cannot be found! I stumbled upon this solution by total accident (I was experimenting with swapping various versions of libkrw to try anything to get my A12X iPad Pro iPad8,4 to retrieve Nonce so I could finally save SHSH blobs) when it finally worked WITHOUT the libkrw!

Oh wow, that’s interesting (it makes sense though! Since it’s a plugin to libkrw, it will always load it beforehand) but, unless you’ve rebooted already with everything working fine, I highly recommend you just switch out the original files. It also fixes the issue, and I’m really not sure what the consequences are to removing it from the jailbreak / boot phase. But interesting to say the least, I don’t think I would have tried that.

badger200 commented 2 years ago

@dlevi309 oh whoops! I was mistaken. It's /usr/lib/libkernrw.0.dylib I renamed that solved things - NOT /usr/lib/libkrw/libFugu14Krw.dylib.

On my system I have 3 copies apparently: libFugu14Krw.dylib 867264 2021/10/26 libkrw.0.dylib 202720 2021/11/01 libkernrw.0.dylib 69968 2021/06/08

I think this relates to dpkg dependencies of dimentio.

You are right, the thought of tampering with the libkrw/libFugu14Krw.dylib sends a chill down my spine! 😳 I'd never want to kill my beloved iPad Pro.

dlevi309 commented 2 years ago

oh, well if you’re on fugu/unc0ver, definitely don’t keep libkernrw on your system as it’s meant for taurine / procursus bootstrap’d jailbreaks.

badger200 commented 2 years ago

@dlevi309 I got sick of waiting for Sam Bingner to clear 2 years of dust off all his system packages on "telesphoreo" (whatever that means?) so I hacked my own way into the obnoxiously heavily-gatekept Procursus apt repo (what's up with that??)

Long story short, just manually download the Procursus dpkg 1.19 .deb from and use 7z to unpack it, this gains you the zstd archive compression support necessary for all procursus .debs, I just manually copy the /usr/bin/dpkg and dpkg-deb, that's enough! Then to keep unc0ver from overwriting it, update your /Library/dpkg/info/dpkg.md5sums for those 2 files. Also update your sources.list to apt.procurs.us/pool/1700 (probably wrong! Need to poke around yourself to find correct URL, but I definitely use 1700 pool).

You'll be shocked, procursus repo is updated virtually every single day with all the latest versions of almost everything you can think of.

Also (and I should really start a blog or something for this because) while Procursus is still on Clang 11.1.0, I've personally managed to compile (all on-device, I don't run a Mac):

I would contribute to Procursus but I made a comment like this one time and they immediately deleted it without a word and cowardly used the anonymous "Procursus Team" account so as to hide who's the fella unable to play nice with others... 🤔

badger200 commented 2 years ago

Btw I definitely don't use full Procursus stuff, they do a bunch of asinine things like:

I don't know if there's some personal beef towards Bingner from whoever's behind Procursus or what, but they sure go out of their way to make life a living hell for anyone using unc0ver to try and use the procursus repo.

dlevi309 commented 2 years ago

oh, I'm not shocked, I use use a lot of stuff from Procursus git repo and have even contributed to uikittools, so I'm very well aware of how great they are. I try to recompile what I can for personal use, libkernrw is just dependent of the jailbreak itself, so I recommend just recompiling dimentio from source so having both k rw libraries installed could be prevented