Device Setup
Guide for setting up a physical device for iOS security research.
Recommended Devices
| Device | Chip | checkm8 | Good for |
|---|---|---|---|
| iPhone X | A11 | Yes | Best for learning β checkm8 + powerful enough |
| iPhone 8 | A11 | Yes | Budget option, same A11 |
| iPhone SE 2 | A13 | No | iOS 15-16 research (Dopamine) |
| iPhone 11 | A13 | No | iOS 15-16 research |
| iPhone 13 | A15 | No | SPTM research (iOS 17+) |
Tips for Buying a Device
- Buy second-hand, the older the iOS version the better
- Check the iOS version BEFORE buying (Settings, General, About)
- Do not update iOS after purchase
- Best case: device already on iOS 15.x or 16.x
Jailbreak Setup
palera1n (checkm8 devices, iOS 15-17)
# Install palera1n
git clone --recursive https://github.com/palera1n/palera1n
cd palera1n
# Put device in DFU mode:
# iPhone X: Hold Side + Volume Down β release Side when Apple logo
# β Keep holding Volume Down until DFU screen
# Run palera1n
./palera1n.sh --tweaks
# Wait for device to boot jailbroken
# Open palera1n app β Install Sileo
Dopamine (iOS 15-16, A9-A16)
1. Install TrollStore (if available for the iOS version)
2. Download Dopamine.tipa
3. Install via TrollStore
4. Open Dopamine β Jailbreak
5. Install Sileo from Dopamine
Post-Jailbreak Essential Setup
SSH Access
# Install OpenSSH on device (via Sileo)
# Connect from Mac:
ssh root@DEVICE_IP
# Default password: alpine (CHANGE THIS!)
passwd
# USB tunnel (if not on the same WiFi)
iproxy 2222 22 &
ssh root@localhost -p 2222
Essential Packages (Install via Sileo)
- OpenSSH # Remote access
- Filza File Manager # GUI file browser
- NewTerm # Terminal app on device
- AppSync Unified # Install unsigned IPAs
- Frida # Dynamic instrumentation
- ldid # Code signing tool
File System Exploration
# Key directories
/System/Library/ # System frameworks, daemons
/System/Library/Sandbox/Profiles/ # Sandbox profiles
/usr/lib/ # System libraries
/private/var/mobile/ # User data
/private/var/containers/Bundle/ # App bundles
/private/var/containers/Data/ # App data
# Kernelcache location
/System/Library/Caches/com.apple.kernelcaches/kernelcache
# Interesting binaries
/usr/libexec/amfid # Code signing daemon
/usr/libexec/mobileassetd # Asset management
/usr/libexec/lsd # Launch Services daemon
/usr/sbin/mediaserverd # Media server
Safety Tips
- Do not update iOS β the jailbreak may be lost
- Backup before jailbreaking β iTunes/Finder full backup
- Change root password β the default βalpineβ is well-known
- Use a separate device β do not use your daily driver for research
- Snapshot state β if using Corellium, snapshot before making changes