Similar to the file formats used in the OS X operating system, iOS apps are also compiled to native code using the Mach-O file format. A binary can support multiple architectures, and multiple Mach-O files can be archived into the same binary that resides on the device; these are known as universal or fat binaries. In addition, apps downloaded from App Store are encrypted using FairPlay DRM (short for Digital Rights Management) and decrypted later during runtime by the loader on the device.
The Mach-O file format consists of three main regions, as shown in the following diagram:
Let's understand the three different sections of the Mach-O file format, which can be very beneficial during the reverse-engineering process:
Header: In simple terms, the Header region...