Используйте какую частную функцию типа C ++, возвращаемую для перехвата с помощью mobilesubstrate - PullRequest
0 голосов
/ 29 февраля 2012

Я изучаю фрагмент кода перехвата закрытой функции c ++ из mobilesubstrate и вижу, что пример WebCore, кажется, подключает 2 (возможно) недокументированные частные функции, искаженные и похороненные в WebCore. Что меня поражает, так это то, как saurik определяет тип возвращаемого значения, возвращаемого функцией target hook ??? Искаженная функция не пропускает тип возврата из того, что я знаю. Я попытался разобрать файл общей библиотеки инфраструктуры WebCore в IDA pro и не смог увидеть его возвращаемый тип. Любая идея кто-нибудь? Требуется ли полное знание прототипа целевой функции и типа возвращаемого значения для успешного подключения к закрытым функциям в dylibs? Спасибо!

#define WebKit "/System/Library/PrivateFrameworks/WebKit.framework/WebKit"
#define WebCore "/System/Library/PrivateFrameworks/WebCore.framework/WebCore"
//how to tell its an NSURLRequest* ?
NSURLRequest* (*X_ZNK7WebCore15ResourceRequest12nsURLRequestEv)(void* something);

1 Ответ

0 голосов
/ 29 февраля 2012

Насколько я знаю, вам не нужно знать точный тип возврата, например, я смог успешно перехватить:

static FILE * close(int arg1), 

хотя close () возвращает void

...