Triforce’s driver mod for iOS
Now that we have shown you how to start the fuzzer and exactly when the system starts, we will run the binary called sysc_fuzz
, according to the .plist
file edited in the Plist files and entitlements section. We are now going to explain what the function of this binary is, which glues AFL together, and the system call interface of iOS.
We have taken the code from the TriforceLinuxSyscallFuzzer
driver (check out the OpenWrt chapters to get a refresher on the concept) repository and adapted it to iOS. The compilation has been done on a Mac, although it is possible to do it on a Linux machine. We are not going to show you how to compile the sysc_fuzz
binary on Linux though while given all the source code involved. The reason for this decision is that the process becomes painful on Linux, since it requires downloading Xcode Command Line Tools and registering an Apple account. However, there are many tutorials online (https://docs.darlinghq.org/)...