Mobile applications are becoming very complex since business applications increasingly move to the mobile. Hence the same problem of code maintenance and comprehension of poorly documented apps, as in the desktop world, happen to the mobile today. One technique to help with code comprehension is to reverse engineer the application. Specifically, we are interested in the functional structure of the app i.e. how the classes that implement the use cases interact. Then we adapted, to the iPhone, the code analysis technique we developed for the desktop applications. In this paper we present the reverse engineering process and tool we used to reverse engineer the code of an iPhone app and show, in a case study, how these tools are used.
['Philippe Dugerdil', 'Roland Sako']
Reverse engineering an iPhone applications using dynamic analysis