Funkcja ta przyjmuje, co najmniej dwa parametry: the Receiver – wskaźnik do instancji klasy, która otrzymuje wiadomość oraz theSelector wskazujący metodę, która obsłuży wiadomość. Funkcja może przyjąć też inne parametry, które są argumentami dla wywoływanej metody.
id objc_msgSend(id theReceiver, SEL theSelector, ...)
Z przedstawionego fragmentu wygenerowanego przez IDA Pro wyraźnie widać jaka metoda (kolor zielony) jest wywoływana za pomocą objc_msgSend oraz czy i jakie argumenty są do niej przekazywane (kolor niebieski).
Należy dodać, że IDA Pro rozpoznaje też zadeklarowane przez programistę metody dla klasy (rysunek poniżej).
Powyższe informacje, to pierwszy krok w celu zrozumienia działania aplikacji. Możemy odtworzyć metody klasy (znak +) i metody instancji dla klasy (znak -). Możemy też odtworzyć listę argumentów dla klasy (o tym w następnym artykule). W końcu możemy również odbudowywać kod źródłowy programu. Z przedstawionego na początku fragmentu kodu wynika, że fragment funkcji main jest następujący:
MojaKlasa * objekt_MojaKlasa = [[MojaKlasa alloc] init];
[objekt_MojaKlasa metodaInstancji:@”Input z main.m”];
[MojaKlasa metodaKlasy];