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

Latest commit

 

History

History
167 lines (125 loc) · 8.25 KB

DEPENDENCIES.md

File metadata and controls

167 lines (125 loc) · 8.25 KB

sunst0rm dependency install

In this guide, I will walk you through the installation of all sunst0rm dependencies so you can start using the script right away! Please, be sure to read the about secion before starting!

If you experience any issues, check the troubleshooting section before opening an issue or asking in the discord! If your problem is not solved from the troubleshooting section, feel free to open an issue or ask for help in the discord. You can mention me there (Arna13) on the support channel and I will try to help you.

Requirements

  • You will require an Apple Mac to run this, or a Hackintosh. VMs have mixed results and your mileage may vary, try it at your own risk.
  • This guide was written for 64-bit macOS 10.15+. Compatibility with older versions may not be guaranteed.
  • Make sure to have some free time and patience :)
  • This guide does not work on Apple Silicon CPUs. You have to compile everything locally (you may even have to manually code in support for your CPU, as precompiled binaries are for Intel CPUs), which... may get difficult.

Step 0: Brew

Let's start simple, get yourself Brew installed, you can find the instructions on their website. Run the command and let it finish, it will ask you to install the Xcode Command Line Tools, just let it install everything.

TLDR:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

With Homebrew installed, we will start getting ourselves some of the dependencies:

brew install automake autoconf pkg-config libtool libusb poetry

With this done, we can start compiling some of the dependencies.

Step 1: libirecovery

To get libirecovery we can simply let Brew install it so we don't have to compile it manually:

brew install libimobiledevice libirecovery

Now you should be able to run irecovery on your terminal.

This one is probably one of the trickiest to compile, that's why compiling futurerestore is beyond the scope of this "simple" guide. Instead, we will be downloading the nightly build from its GitHub actions. Bear in mind, a GitHub account is needed for this. If you don't want to create a GitHub account, or can't find the download link, try this one instead.

Make sure to always download the correct file for your computer, which in most cases is futurerestore-macOS-RELEASE.zip.

Once you have downloaded the .zip file, extract the file if it has not automatically done so, and extract the .tar.gz inside it too. You may need an extra tool to extract tarfiles, you can use /usr/bin/tar.

tar xf futurerestore-macOS-*-RELEASE.tar.xz

You should now have a binary named futurerestore. We will give this binary execute permissions in case it doesn't have it yet, and then we will move it to a location in our $PATH:

chmod +x futurerestore
mv futurerestore /usr/local/bin/

Now, you should be able to launch futurerestore from the terminal. If it says the program is from an untrusted source and doesn't let you run it, go to your Settings app, to the Security and Privacy icon and allow the execution of the program. This applies to any program that may get this error.

This one is a bit tricky to compile too, but hopefully we have a binary available too, so we will use it. The same way as before, you can get your binary via GitHub actions or nightly.link.

Make sure to download the correct binary for your device, which in most cases is iBoot64Patcher-macOS-x86_64-RELEASE.

Same as before, we extract everything until we get our iBoot64Patcher. We will set execute permissions and move it to $PATH:

chmod +x iBoot64Patcher
mv iBoot64Patcher /usr/local/bin/

Now, you should be able to launch iBoot64Patcher from the terminal.

This one is pretty easy to compile. Simply git clone the repo, cd into it and use gcc to compile Kernel64Patcher.c:

git clone https://github.com/iSuns9/Kernel64Patcher.git
cd Kernel64Patcher
gcc Kernel64Patcher.c -o Kernel64Patcher

Now that we have our binary compiled, we can move it into a directory in our path:

mv Kernel64Patcher /usr/local/bin/

You can then go back to your previous directory with cd .. and remove the Kernel64Patcher directory if you want. This applies to all compiled dependencies.

You should now be able to launch Kernel64Patcher from terminal.

Step 5: img4tool

We will not be compiling this one either, but instead we will grab a precompiled binary. Grab the latest .zip for your OS from the releases tab, in this case its buildroot_macos-latest.zip.

Extract the .zip file, you will now have a folder named buildroot_macos-latest. We will cd inside the folder and cp all folders inside usr/local/ folder into our /usr/local/ directory:

cd buildroot_macos-latest
cp -r usr/local/* /usr/local/

Now, we will chmod it to add execution permissions to the bin file:

chmod +x /usr/local/bin/img4tool

You now should be able to run img4tool on your terminal.

Step 6: img4

We will be compiling img4 since the binary can somtimes cause issues. If you find any trouble compiling img4, try the binary from the release section.

To compile it we will simply git clone it with the recursive flag, cd into it and make -C lzfse and finally make with COMMONCRYPTO=1.

git clone https://github.com/xerub/img4lib.git --recursive
cd img4lib
make -C lzfse
make COMMONCRYPTO=1

Once img4lib is done compiling copy img4 to /usr/local/bin and libimg4.a to /usr/local/lib.

cp img4 /usr/local/bin
cp libimg4.a /usr/local/lib

You should now be able to run img4 in your terminal.

Step 7: ldid

This one is pretty easy, we can compile it but for this guide we will use brew to install it:

brew install ldid

This should now let us run ldid on the terminal.

This is an easy one too, but it needs to be compiled.

First, git clone the repo and cd into it. Then, just run make and mv the binary to path:

git clone https://github.com/iSuns9/restored_external64patcher.git
cd restored_external64patcher
make
mv restored_external64_patcher /usr/local/bin/

Now, you should be able to run restored_external64_patcher from the terminal.

This one is identical to the last one:

git clone https://github.com/exploit3dguy/asr64_patcher.git
cd asr64_patcher
make
mv asr64_patcher /usr/local/bin

Now, asr64_patcher should be installed and accessible from the terminal.

Step 10: Python3

We need to install the latest version of Python 3 since the version bundled with macOS can have some issues with sunst0rm.

You just need to download Python with the big yellow button and install it.

I will not guide you though the installation as its only a .dmg with an installer inside where you just need to click next until it installs, I think you can do this alone :)

Now you should have Python icons in your launchpad, that means it installed correctly.

Step 11: sunst0rm

With all external dependencies satisfied, we can start to install sunst0rm and its pip dependencies.