Frida iOS hook

February 5, 2026 ยท View on GitHub

image

Frida iOS hook

CodeQL python frida

๐Ÿ“ A tool that helps you can easy using frida. It support script for trace classes, functions, and modify the return values of methods on iOS platform.

๐Ÿ‘‰ For Android platform: frida-android-hook

๐Ÿ‘‰ For Intercept Api was encrypted on iOS application: frida-ios-intercept-api

Env OS Support

OSSupportedNoted
MacOS:white_check_mark:Stable
Linux:white_check_mark:Stable
Windows:white_check_mark:Unstable

Compatible with

iOSFridaFrida-toolsSupportedStable Version
16.7.1116.7.1413.7.1:white_check_mark:
16.7.1116.1.412.2.1:white_check_mark::white_check_mark:

Note: Using stable versions to fix the ObjC not defined issue present in frida 17.0.1.

Feature

Running with python3.x. Support both spawn & attach script to process. All options from ./ioshook -h:

CategoryOptionDescription
General-h, --helpShow help message and exit
--cliLaunch iOSHook interactive CLI
-p, --package PACKAGEBundle identifier of target app (spawn)
-n, --name NAMEDisplay name of target app (attach)
--pid PIDProcess ID of target app (attach)
-s, --script SCRIPT.JSPath to Frida JavaScript hooking script
-c, --check-versionCheck for iOSHook updates
-u, --updateUpdate iOSHook to latest version
Quick Method-m, --method METHODapp-static, bypass-jb, bypass-ssl, i-url-req, i-crypto (use -n or -p as required)
Information--list-devicesList all connected Frida devices
--list-appsList all installed applications on device
--list-scriptsList all available Frida scripts
--logcatShow system log of device (idevicesyslog)
--confOpen and edit hook.conf file
--shell, --sshOpen SSH shell to device (default: USB via iproxy)
--ssh-port-forward LOCAL:DEVICEForward port from local to device (ssh -R)
--network HOST:PORTConnect via network SSH (default port 22)
--localConnect via USB using iproxy
Dump decrypt IPA-d, --dump-appDump and decrypt application IPA file
-o, --output OUTPUT_IPAOutput filename for decrypted IPA (without .ipa)
--dump-output-dir DIROutput directory for dumped IPA (default: workspaces/dumps)
Dump memory--dump-memory OPTSDump memory of running application (e.g. --string, --read-only)
HexByte Scan IPA--hexbyte-scan MODEMode: help, scan, patch, json
--file FILE.IPAIPA file to scan/patch
--pattern PATTERNHex pattern to search (e.g. E103??AA????E0)
--address ADDRESSAddress for patch (format: address,bytes,distance)
--task TASK.jsonJSON task file for hexbyte scan
reFlutter--reflutter FLUTTER.IPAPath to Flutter IPA for reFlutter analysis

๐Ÿ“œ ChangeLog

See Full ChangeLog

Install

	[+] Latest version

		https://github.com/noobpk/frida-ios-hook/releases

	[+] Develop version

		git clone -b dev https://github.com/noobpk/frida-ios-hook

Environment

[+] Python >= v3.0 (Recommend to use pyenv or virtualenv)

1. cd frida-ios-hook/
2. python3 -m venv py-env
3. source py-env/bin/active

Build

1. pip3 install -r requirements.txt
3. python3 setup.py
4. cd frida-ios-hook
5. ./ioshook -h (--help)

Usage

See Full Usage as Wiki

If you run the script but it doesn't work, you can try the following: frida -U -f package -l script.js

๐Ÿ“บ Demo Feature

TitleLink
Frida iOS Hook | Basic Usage | Install - List devices - List apps - List scripts - Logcat - Shellhttps://youtu.be/xSndHgTdv4w
Frida iOS Hook | Basic Usage | Dump Decrypt IPA - Dump Memory App - Hexbyte-Scan IPAhttps://youtu.be/AUsJ9_gnWAI
Frida iOS Hook | Basic Usage | App Static - Bypass Jailbreak - Bypass SSL - Intercept URL + Cryptohttps://youtu.be/nWhKDSzArf8
Frida iOS Hook | Advance Usage | Memory Dump - Radare2 - Iaitohttps://youtu.be/nUqE4EYWiEc

Disclaimer

Because I am not a developer, so my coding skills might not be the best. Therefore, if this tool have any issue or not working for you, create an issue and i will try to fix it. Any suggestions for new feature and discussions are welcome!