Я изучаю фрагмент кода перехвата закрытой функции 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);