iOS
Reverse Engineering iOS applications in .app format
iOS apps are not as easily reverse-engineered as most Android apps, because they are compiled into a binary. When you run the file
command on the binary, you should see Mach-O which confirms this is an iOS application:
Decompiling
To reverse engineer this binary, it is basically the same procedure as reversing any other ELF binary for example. You can use a decompiler to get some insight into the code structure, and what functions are called.
There is a lot of source code from built-in Apple functions, so searching for function names is often a good idea to understand what it is doing, instead of guessing or reversing by hand. For example, the CCCrypt()
function has the following arguments (source):
In addition to this, enum
s are also useful to know, as the numbers in the decompiled code might not explain what it really means:
.plist
files
.plist
filesyou might find .plist
files in the .app
directory. These files are in a special format but can be parsed by tools such as plistutil
into XML files:
Resources
For another more practical guide and example, see this article:
Last updated