Main Page

Welcome to the Apple Wiki
This is a conglomerate work of everything done by everyone on Apple's amazing devices and software. Anyone can contribute here, just create an account. Currently there are users, with 0 articles (and  key pages).
 * Check out the most recent article changes.
 * Get up to speed in the community (and learn about how jailbreaks work).
 * Read (and edit) the constitution to understand what purpose this wiki serves.
 * Read the timeline to see where we are.
 * Read the community portal to find out what people request to be added/changed.
 * Read the ground rules to know what you should and should not post in this wiki.
 * If you have notes on something you did, post them here, no matter how ugly.
 * If you see something ugly, work to make it pretty.
 * If you have a fix for a problem people are having, post it here.

What are we about?
The Apple Wiki is an unofficial wiki dedicated to collecting, storing and providing information on the internals of Apple's amazing devices and software. We hope to pass this information on to the next generation of hackers so that they can go forth into their forebears' footsteps and break the ridiculous bonds Apple has put on their amazing mobile devices.


 * -|Hardware & Firmware=

Firmware Status
See Jailbreak for a complete list of devices and firmware versions and tools used to jailbreak those versions.

Software

 * Apple Internal Apps
 * File formats
 * Filesystem
 * Services
 * Firmware
 * Beta Firmware
 * Carrier Firmware
 * NonUI builds
 * InternalUI Builds
 * Horizon Firmware
 * iTunes
 * iTunes Errors
 * iTunes Modes
 * MobileDevice Library
 * Keys
 * AES Keys
 * Apple Certificate
 * RSA Keys
 * TEA Keys
 * Firmware Keys
 * Decrypting Firmwares
 * GID Key
 * NCK
 * OTA Updates
 * Beta OTA Updates
 * Carrier OTA Updates
 * Internal OTA Updates
 * RecoveryOSUpdates
 * Rapid Security Responses
 * Beta Rapid Security Responses
 * Protocols
 * Baseband Bootrom Protocol
 * DFU
 * Baseband Bootloader Protocol
 * Normal Mode
 * Recovery Mode
 * Restore Mode
 * USB Target Disk Mode
 * Serial Wire Debug
 * System Log (syslog)

Jailbreak Software

 * Absinthe
 * backr00m
 * blackra1n
 * checkra1n
 * Chimera
 * Corona
 * doubleH3lix
 * Electra
 * EtasonATV
 * EtasonJB
 * evasi0n
 * evasi0n7
 * Fugu
 * Fugu14
 * greenpois0n
 * h3lix
 * Home Depot
 * ipwndfu
 * JailbreakMe
 * kok3shi
 * limera1n
 * Meridian
 * n1ghtshade
 * Odyssey
 * p0sixspwn
 * palera1n
 * Pangu
 * Pangu8
 * Pangu9
 * Phœnix
 * p0laris
 * PPJailbreak
 * purplera1n
 * PwnageTool
 * redsn0w
 * redTool
 * Rocky Racoon
 * Seas0nPass
 * sn0wbreeze
 * Spirit
 * TaiG
 * Taurine
 * unc0ver
 * unc0verTV
 * unthredera1n
 * yalu

Operating Systems

 * audioOS
 * bridgeOS
 * iOS
 * iPadOS
 * macOS
 * tvOS
 * watchOS
 * Alternative OSes
 * Asahi Linux

Patches

 * Kernel
 * AMFI Binary Trust Cache Patch
 * PE i can has debugger Patch
 * Sandbox Patch
 * Vm map enter Patch
 * Vm map protect Patch
 * Ramdisk: ASR

Vulnerabilities and Exploits

 * 0x24000 Segment Overflow (24kpwn)
 * alloc8 Exploit
 * BPF STX Kernel Write Exploit
 * checkm8 Exploit
 * CVE-2013-0964
 * HFS Heap Overflow
 * HFS Legacy Volume Name Stack Buffer Overflow (feedface)
 * Incomplete Codesign Exploit
 * IOSurface Kernel Exploit
 * Limera1n Exploit
 * Malformed CFF Vulnerability
 * MobileBackup Copy Exploit
 * ndrv_setspec Integer Overflow
 * Packet Filter Kernel Exploit
 * Racoon String Format Overflow Exploit
 * SHA-1 Image Segment Overflow (SHAtter)
 * Symbolic Link Vulnerability
 * usb_control_msg(0x21, 2) Exploit
 * usb_control_msg(0xA1, 1) Exploit (steaks4uce)

Various Software

 * CoolBooter
 * Cydia
 * Cydia Impactor
 * EDA
 * Futurerestore
 * iBoot32Patcher
 * iFaith
 * libimobiledevice
 * SemiRestore
 * Sileo
 * Sund0wn
 * TinyUmbrella
 * tsschecker

Bad stuff

 * Malware for iOS
 * Misuse of enterprise and developer certificates
 * Scam Jailbreaks and Unlocks

Processors

 * Application Processor
 * Baseband Device
 * iBridge Coprocessor
 * Secure Element
 * Secure Enclave Processor

Devices

 * Apple TV
 * Accessories
 * Apple Watch
 * AirPods
 * Beats headphones
 * HomePods
 * iPads
 * Accessories
 * iPads
 * iPad Airs
 * iPad Pros
 * iPad minis
 * iPhones
 * iPod touches

Mac (Apple Silicon)

 * Mac laptops
 * Mac desktops

Other Processors

 * Secure Enclave Processor
 * Secure Element

iPhone Hackers

 * axi0mX
 * chpwn
 * comex
 * geohot
 * iH8sn0w
 * MuscleNerd
 * pimskeks
 * planetbeing
 * pod2g
 * posixninja
 * qwertyoruiop
 * saurik
 * Siguza
 * tihmstar
 * winocm

iPhone Hacker Teams

 * Chronic Dev
 * iPhone Dev Team
 * Dream Team
 * evad3rs
 * t8012 checkm8

Application Development

 * Bypassing iPhone Code Signatures
 * Frameworks
 * Misuse of developer certificates
 * MobileDevice Library
 * Mobile Substrate
 * Toolchain (Includes tutorials)
 * Toolchain 2.0 (Includes tutorials)

Application Copy Protection

 * Bugging Debuggers
 * Copy Protection Overview

Guides

 * Tutorials
 * Useful Links

Definitions

 * Activation and Hacktivation
 * ASLR
 * Baseband
 * Bootloader
 * Bootchain
 * Bootrom / VROM
 * Bricked
 * CHIPID
 * DFU Mode
 * Failbreak
 * iBoot
 * IMG3 / IMG4 tags
 * BORD
 * CERT
 * CHIP
 * ECID
 * KBAG
 * PROD
 * SDOM
 * SEPO
 * SHSH
 * TYPE
 * VERS
 * Jailbreak
 * Tethered jailbreak
 * Untethered jailbreak
 * Firmware downgrading
 * Tethered Downgrade
 * Kernel
 * launchd
 * LLB
 * NAND
 * Unlock
 * Userland
 * DSID


 * -|Developer=

Getting started
New to developing for jailbroken devices? Welcome, it's fun and challenging! Hopefully you already have some experience with Objective-C. You will want to get familiar with Cydia Substrate and Theos, and you can study some Open Source Projects to see how existing tweaks work. See Getting Started and also take a look at Best Practices and MobileSubstrate Pitfalls. If you're looking for a more thorough and sequential tutorial, take a look at the book iOS App Reverse Engineering and its forum iOSRE.

 How to ask for help: There are tags for "jailbreak", "Cydia", and "Theos" on Stack Overflow, a site for programming questions in general; feel free to ask there as well. On reddit, there's /r/jailbreakdevelopers. For non-development-related troubleshooting questions, try /r/jailbreak.

Frameworks:

 * more »
 * more »
 * more »
 * more »
 * more »
 * more »
 * more »

Applications:

 * more »
 * more »
 * more »
 * more »

System directories:

 * Frameworks
 * Internet Plug-Ins
 * PreferenceBundles
 * PrivateFrameworks
 * more »

Other parts of iOS:

 * dyld_shared_cache
 * Bluetooth
 * CgBI file format
 * Coprocessors
 * Daemons
 * Entitlements
 * iOS Keyboard
 * launchd
 * NFC
 * Notifications
 * Seatbelt

By iOS Version

 * New in iOS 15: Updating extensions for iOS 15/16
 * New in iOS 14: Updating extensions for iOS 14
 * New in iOS 13: Updating extensions for iOS 13
 * New in iOS 12: Updating extensions for iOS 12
 * New in iOS 11: Updating extensions for iOS 11
 * New in iOS 10: Updating extensions for iOS 10, ControlCenterUI.framework, UserNotificationsUIKit.framework.
 * New in iOS 9: Updating extensions for iOS 9, Updating extensions for iOS 9.3.3, Breadcrumbs.
 * New in iOS 8: Updating extensions for iOS 8, AssertionServices.framework, SBSRestartRenderServerAction, FBSSystemService, UIAlertController.
 * New in iOS 7: Updating extensions for iOS 7, Debugging on iOS 7, Downgrading iPhone 4 from iOS 7, BiometricKit.framework, TouchID, UIBackdropView, AVFlashlight, SBAppSliderController.
 * New in iOS 6: BackBoardServices.framework, backboardd, ChatKit.framework, BKSProcessAssertion.
 * New in iOS 5: SBIconView, CKMadridService, SBAppContextHostManager.
 * New in iOS 4: SBAppSwitcherModel.

Development tools:

 * Theos, Logos, NIC, Logify
 * Reverse Engineering Tools
 * Jailbreak Development Tools
 * Preferences specifier plist
 * SSH Over USB
 * Cydia Substrate (MobileSubstrate)
 * debugserver (remote debugging)
 * ldid
 * On-device toolchains
 * Retrieving SDKs
 * Xcode

Extensions:

 * ActionMenu
 * AppList
 * Cydget
 * Flipswitch
 * IconSupport
 * LayerSnapshotter
 * libactivator
 * libhide
 * libobjcipc
 * libstatusbar
 * PreferenceLoader
 * RocketBootstrap
 * WinterBoard
 * libPassword
 * more »

Other articles about development:

 * Getting Started
 * Best Practices
 * MobileSubstrate Pitfalls
 * Open Source Projects
 * Advice for new developers
 * Cydia Store Integration
 * Tweak DRM
 * Code Signing
 * Repository Management
 * Packaging
 * Crack prevention
 * List of development blogs
 * Using ARC in tweaks
 * Career advice

Translated articles:


 * Français: Main page/fr • MobileSubstrate/fr • SSH Over USB/fr • UIFont/fr • UIColor/fr • ActorKit.framework/fr • IOSOpenDev/fr
 * ไทย: SSH Over USB/th • SpringBoard.app/th • UIColor/th
 * Deutsch: Theos/de

Editing this wiki

 * If you have anything at all to contribute, feel free to do so!

Some ideas for information to contribute:


 * Add more projects to the list of Open Source Projects, or fill out details on that page.
 * Expand Getting Started for new developers - what do they need to know before beginning? How do they set up a development environment on OS X, Windows, and Linux? What are common beginner's mistakes that they should watch out for? How to reverse-engineer parts of iOS for writing tweaks? How to debug with GDB and learn about memory management?
 * Update articles that haven't been significantly edited in a few years, such as Seatbelt and Crack prevention. See Special:AncientPages for a list of articles that haven't been updated recently.
 * Help Cycript explain why Cycript is fun - syntax highlighting, injection, auto-completion, generally exploring around.
 * Make a page that documents a class or framework you're familiar with.
 * If you've developed a library that other developers can use or write addons/plugins/extensions for, make a page that documents your project.
 * Update Xcode with better information about how to build apps for jailbroken devices.
 * Make the homepage more useful! For example, add links to good pages that are hidden/buried deep within the wiki.
 * The following articles are linked from nowhere in the wiki: Special:LonelyPages - you can fix that by linking them somewhere.
 * Browse around the wiki to find pages that might need updating.
 * Write an article that is in demand: Special:WantedPages.
 * Translate an existing article into a non-English language. To do so, make a new page with this name format: . Here's the list of language codes. For example: PreferenceLoader/de or Libactivator/sv.

Good Edit Candidates
If you're looking for some articles to work on that don't require a ton of in-depth RE, or are important yet woefully outdated, the following articles are good candidates:


 * Jailbreak detection
 * CATransition
 * Code Signing - Not bad info, needs updated primary instructions for current year
 * Notifications - Update with info about libMRYIPC, new pages, etc.
 * Best Practices
 * iOS Keyboard - Woefully outdated + no useful info
 * iWidgets - Conglomerate and link to modern replacements.