Microsoft Word - iOSAppReverseEngineering.docx

(Romina) #1

Figure 10- 92 Inspect cross references


Figure 10- 93 [CKTranscriptController sendMessage:]


OK, let’s figure out what’s [CKConversation sendingService]. Set a breakpoint on the 2nd


objc_msgSend of figure 10-93 and trigger it:


Process 343388 stopped
* thread #1: tid = 0x53d5c, 0x30a84e08 ChatKit`-[CKTranscriptController sendMessage:] +
372, queue = 'com.apple.main-thread, stop reason = breakpoint 2.1
frame #0: 0x30a84e08 ChatKit`-[CKTranscriptController sendMessage:] + 372
ChatKit`-[CKTranscriptController sendMessage:] + 372:




  • 0x30a84e08: blx 0x30b3bf44 ; symbol stub for:
    MarcoShouldLogMadridLevel$shim
    0x30a84e0c: str r0, [sp, #36]
    0x30a84e0e: movw r0, #23756
    0x30a84e12: add r2, sp, #44
    (lldb) p (char )$r1
    (char
    ) $4 = 0x30b55f95 "__ck_defaultAccountForService:"
    (lldb) po $r2
    IMService[iMessage]
    (lldb) po [$r2 class]
    IMServiceImpl





So it’s an IMServiceImpl object. How do we get such an object? In fact, we’ve already done


this in section 10.2. Open IMServiceImpl.h, as shown in figure 10-94.

Free download pdf