You need to have:
NonUI Dump (InternalUI would also do) or decrypted RootFS from any Restore Bundle (can be found on our website).
Mac, Linux or even Windows with WSL or MINGW.
Try to do that on your own risk! If you will make something wrong, it might just bootloop forever. Restore will fix everything as well.
Follow the steps below:
./xpwntool iBSS.orig iBSS.dec -iv iv -k key
./xpwntool iBEC.orig iBEC.dec -iv iv -k key
./iBoot32Patcher iBSS.dec iBSS.patched --rsa --dualboot
./iBoot32Patcher iBEC.dec iBEC.patched --rsa --setenv --debug --dualboot -b \
"-v amfi=0xff cs_enforcement_disable=1 amfi_get_out_of_my_way=1 debug=0x14e keepsyms=1 rd=disk0s1s3"
./image3maker -t ibss -f iBSS.patched -o iBSS.img3
./image3maker -t ibec -f iBEC.patched -o iBEC.img3
./xpwntool devicetree.orig devicetree.dec -iv iv -k key
./perl -0777 -pe '
s/([\x00-\xff])\x00\x00\x00\x00\x00\x00\x00AAPL,phandle/
chr(ord($1)+1)."\x00\x00\x00\x00\x00\x00\x00AAPL,phandle"/e;
s/use-lwvm/
\x6e\x6f\x2d\x65\x66\x66\x61\x63\x65\x61\x62\x6c\x65\x2d
\x73\x74\x6f\x72\x61\x67\x65\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x18\x00\x75\x73
\x65\x2d\x6c\x77\x76\x6d/x;
' devicetree.dec > devicetree.patched
./image3maker -t dtre -f devicetree.patched -o devicetree
rm -rf /mnt3/Developer/*
rm -rf /mnt3/.Trashes/*
rm -rf /mnt3/System/Library/Caches/com.apple.kernelcaches/*
./multi_kloader /path/to/iBSS /path/to/iBEC
8. ENJOY!
Thanks to Stonneph for original guide and to Mokquad for reimagined guide.
Thanks to MWR (Fit_Mycologist_8247).
How to change InternalUI on NonUI:
launchctl unload -w /System/Library/LaunchDaemons/com.apple.SpringBoard.plist
launchctl load -w /AppleInternal/Applications/SwitchBoard.app/com.apple.SwitchBoard.plist
How to change NonUI on Internal:
launchctl unload -w /AppleInternal/Applications/SwitchBoard.app/com.apple.SwitchBoard.plist
launchctl load -w /System/Library/LaunchDaemons/com.apple.SpringBoard.plist
Thanks to FujiExpo.