Figure 10- 98 iMessage delivered
10.4 Result Interpretation
Compared to previous practices, the reverse engineering methodology used in this chapter
doesn’t change much, but the overall workload has increased tremendously; As for difficulty,
this chapter is way harder than chapter 7 and 8, though they’re all targeting system Apps. To
reverse the functions of detecting and sending iMessages, our general thoughts are as follows.
- Cut into the code via UI
The changing from “Text Message” to “iMessage”, green color to blue color, and “Send”
button itself are all UI visualizations produced by programs. As long as we can describe what we
see on UI, we can cut into the App from there. In this chapter, our cut-in points are message
placeholder and “Send” button. Their UI functions can be easily located with Cycript, and are
helpful in further analysis.
- Browse and test class-dump headers to find interesting dots
Objective-C headers are clearly organized, methods are explicitly named. Their high
readability is the perfect place for us to look for reverse engineering clues. Testing private
methods, properties and instance variables with Cycript can be really helpful when we want to