Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

fix missing arm64e slice from FuguKrw plugin #235

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

dlevi309
Copy link

@dlevi309 dlevi309 commented May 1, 2022

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 #200

…e ATM because the code that generates the trust cache for that probably needs to be adjusted to include both archs
@badger200
Copy link

badger200 commented May 4, 2022

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

@dlevi309
Copy link
Author

dlevi309 commented May 4, 2022

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

@badger200
Copy link

@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
Copy link
Author

dlevi309 commented May 4, 2022

@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
Copy link

badger200 commented May 4, 2022

@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
Copy link
Author

dlevi309 commented May 4, 2022

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
Copy link

badger200 commented May 4, 2022

@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):

  • Clang/LLVM 12.0.1 (everything, including all extra tools, the experimental ld64.lld high speed LLD linker, lldb, compiler-rt with profiling)
  • Clang/LLVM 13.0.1 (as above)
  • Clang/LLVM 14.0.0 (as above, latest)
  • Clang/LLVM 15.0.0git
  • Perl 5.34.0/.1 (latest) with everything enabled
  • Python 3.10.4. (latest) with everything enabled including loadable SQLite extensions
  • 7zip 21.07 alpha latest with aarch64 ASM hardware CRC acceleration which gives an incredible +40% performance boost!! Not to mention 7zz is an indispensable Swiss Army knife tool way better than crusty old ancient p7zip 16.02
  • xz-5.2.5/liblzma.5.dylib latest with multithreading support which Apple's iOS 14.4 dylib cache version 5.2.4 inexplicably omits, dramatic performance gains obviously.
  • zstd 1.5.2 also with multithreading.
  • coreutils 9.0

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
Copy link

badger200 commented May 4, 2022

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

  • Renaming all gnu tools to g-normalname (they do this so the odcctools versions retain the original names but I rarely use those, while the gnu stuff is used 99.9% of the time)
  • Not installing bash, and using "dash" instead! Wtf?
  • Installing everything in their completely arbitrary choice of /opt
  • Breaking all kinds of unc0ver dependencies.

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
Copy link
Author

dlevi309 commented May 5, 2022

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants