Skip to content

An iOS app that lets you practice your Frida skills

Notifications You must be signed in to change notification settings

NVISOsecurity/frida-ios-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Frida iOS Playground

An iOS app that lets you practice your Frida skills. This app provides you with a bunch of different tasks to complete using Frida.

Installing the IPA

  • Jailbroken device: Push the IPA to your device and install via Filza / TrollStore.
  • Non-jailbroken device: Since this application is meant to train your Frida skills, you'll first have to inject the Frida gadget. The easiest way is to use objection's patchipa command. Note that this is only possible on a macOS device.

Preview

logo

Challenges

Basic (solutions)

  • Print parameter (int)
  • Print parameter (NSNumber)
  • Print parameter (NSString)
  • Replace parameter
  • Print return value (string)
  • Replace return value
  • Print return value (bytearray)
  • Call function on object
  • Call function with arguments on object
  • Find HiddenVault instance
  • Call secret function of HiddenVault
  • Modify ByteArray

Advanced (solutions)

  • Switch implementation (ObjC.implement)
  • Switch implementation (Interceptor.replace)
  • Hook exported function
  • Hook unexported function
  • Reading pointers
  • Hotpatch assembly

Interact with app (solutions)

  • Show a UIAlertController
  • Intercept KeyChain item
  • Read stored KeyChain item
  • Biometric authentication
  • NSUserDefaults
  • NSUserDefaults - Read full file

Detect Frida / Jailbreak (solutions)

  • Detect frida-server on port 27042
  • Detect suspicious libraries
  • Detect packed FridaGadget

Swift (solutions)

  • Intercept function (short String)
  • Intercept function (large String)
  • Call Swift function
  • Call nonstatic Swift function

Challenges (solutions)

  • Enter the correct PIN
  • Enter the correct password
  • Solve every challenge at once

FAQ

I have a different solution

That's definitely possible. Many challenges can be solved in different ways. If you have a different solution that uses a different approach, please open an issue or PR.

I can cheat / reuse solutions / ...

The app is built in a way that makes it easy to add challenges without the overhead of creating unique functions for each challenge. The goal is to learn, not just to get the SUCCESS popup. There's even a challenge to see if you can find a universal solution for each challenge.

I have suggestions for challenges / found a bug

Great! Please open an issue or PR.