Почему IDA показывает метод, который класс-дамп не может? И почему я не могу это зацепить?
Когда я делаю дамп класса в Instagram (v7.7), я не совсем понимаю, почему в этом классе отсутствует объявление метода для "sponsoredContext". Для сравнения, IDA показывает метод "-(char)sponsoredContext".
Результат класса дамп:
@interface IGFeedItemTimelineLayoutAttributes : XXUnknownSuperclass {
BOOL _sponsoredContext;
BOOL _showExploreContext;
BOOL _showTimeStampOnFirstLayoutElement;
IGFeedItem* _feedItem;
NSArray* _rowItems;
}
@property(retain, nonatomic) NSArray* rowItems;
@property(assign, nonatomic) BOOL showTimeStampOnFirstLayoutElement;
@property(assign, nonatomic) BOOL showExploreContext;
@property(assign, nonatomic) BOOL sponsoredContext;
@property(retain, nonatomic) IGFeedItem* feedItem;
-(void).cxx_destruct;
-(id)commentForTextTimelineRow:(int)textTimelineRow;
-(int)cellTypeForTextTimelineRow:(int)textTimelineRow;
-(int)numberOfTextRowsInTimeline;
-(id)initWithFeedItem:(id)feedItem sponsoredContext:(BOOL)context showExploreContext:(BOOL)context3 showTimeStampOnFirstLayoutElement:(BOOL)element;
@end
Результат МАР:
IGFeedItemTimelineLayoutAttributes - (char)sponsoredContext
char __cdecl -[IGFeedItemTimelineLayoutAttributes sponsoredContext](struct IGFeedItemTimelineLayoutAttributes *self, SEL)
__IGFeedItemTimelineLayoutAttributes_sponsoredContext_
MOV R1, #(_OBJC_IVAR_$_IGFeedItemTimelineLayoutAttributes._sponsoredContext - 0x15C64)
ADD R1, PC
LDR R1, [R1]
LDRSB R0, [R0,R1]
BX LR
End of function -[IGFeedItemTimelineLayoutAttributes sponsoredContext]
Кроме того, когда я пытаюсь подключить этот метод с помощью логотипов:
%hook IGFeedItemTimelineLayoutAttributes
-(BOOL)sponsoredContext{
NSLog(@"Text:%d", %orig());
return %orig();
}
%end
Cydia Substrate дает мне ошибку:
MS:Warning: message not found [IGFeedItemTimelineLayoutAttributes sponsoredContext:]
Как я могу подключить этот метод? Почему класс-дамп не показывает это, а IDA показывает? Что особенного в этом методе?
Заранее спасибо.