π€How to use Frida on iOS 17 without Jailbreak
Identifying the problem
Basically, starting with iOS 17 or above, I canβt use ios-deploy because this tool depends on DeveloperDiskImage (DDI), which is used for debugging the app and other tasks.
You can view the image below:


How to solve it
To use Frida on iOS 17 without jailbreak, you need:
A decrypted .ipa file
Xcode installed
Code signing and provisioning profile (Xcode will handle this for you; you only need to log in with your Apple ID and create a new project)
In this example, I will use SecureStorev2. You can find the .ipa download for this app in the βSetup Labβ section.
First, you need to obtain your signing ID. For this, you can use:
The code signature looks like this:

Next, weβll insert the dylib. To install insert_dylib, use the following commands
After installing insert_dylib, we need to install objection:
We use this command to sign the app with the Frida Gadget dylib:

Reminder: The code signing signature can be obtained using the commands mentioned above, but first, you need to have Xcode installed and create a project in Xcode.
You can also find the provisioning profile in the project I created called βHacking.β Additionally, you can see the patched .ipa file named βSecureStorev2-frida-codesigned.ipa.β
Now we need to install the .app contained inside the .ipa. To do this, extract the .ipa using the following command:

Now weβll install the .app:
Install the Xcode CLI tools using the following command:
Connect your device to your computer and list the devices to get the device ID

In my case, my device ID starts with 0008030.
Install the .app:

Start the process:

Now the process is stuck on the screen:

Open Xcode, then go to Debug > Attach to Process and select the SecureStore process:

At the bottom of the screen, you can find the Frida server port:

Now we need to forward this port using pymobiledevice3:
Now start objection:
Finish

Credits: https://github.com/frida/frida/issues/2663#issuecomment-1956330432
Last updated