From The Apple Wiki
(Redirected from Afc2)

Apple File Conduit (AFC) is a service that runs on iOS devices, allowing iTunes, Photos, and several third-party apps to exchange files with the device. It is jailed to the directory /private/var/mobile/Media, which is on the second (non-OS) partition. The AFC service is handled by /usr/libexec/afcd, and runs over the usbmux protocol.


AFC2 is an additional AFC service, configured to allow access to the whole filesystem. The underlying AFC2 executable is the old version of AFC, actually from Apple, thus official, where setting a directory to mount as read-write is still permitted. Up to iOS 7, the AFC2 service is added by editing the /System/Library/Lockdown/Services.plist file and adding a service (AFC2) that runs under root with access to the root filesystem. Since iOS 8, however, the list of services is hardcoded inside lockdownd. Fortunately, the list is parsed through CFPropertyListCreateWithData where Mobile Substrate can be used to hook the function to add AFC2 service to the list without troubles. For 64-bit devices, AFC2 Project is maintained by Cannathea team where the AFC2 binary is downloaded directly from Apple server (this link, in particular, which is an iOS 7 OTA update file) using PartialZip technique and code-signed to work with recent jailbreak tools.