所以,如果你们想看看我是如何为监狱里的 IOS(而不是相当无聊的“不可能 ” ) ( iOS ) ( 而不是“不可能 ” ) 这样做的: 我基本上上钩了游览, 以获得网页完成厌恶后所谓的特定方法。 使用 MobileSubstrate ( com. apple. mobalsafari ), 在输入您的动态图书馆时使用 :
#import <substrate.h>
#import <UIKit/UIKit.h>
/* Some globals */
static IMP _orig_1, _orig_2;
static id tabController;
id _mod_1(id __self, SEL __cmd, CGRect frame, id tabDocument);
void _mod_2(id __self, SEL __cmd, id doc, BOOL error);
/* The library constructor */
__attribute__((constructor))
static void init()
{
Class tabClass;
tabClass = objc_getClass("TabController");
MSHookMessageEx(tabClass, @selector(initWithFrame:tabDocument:),
(IMP)_mod_1, &_orig_1);
MSHookMessageEx(tabClass, @selector(tabDocument:didFinishLoadingWithError:),
(IMP)_mod_2, &_orig_2);
}
/* This hook merely captures the TabController of Safari. */
id _mod_1(id __self, SEL __cmd, CGRect frame, id tabDocument)
{
__self = _orig_1(__self, __cmd, frame, tabDocument);
tabController = __self;
return __self;
}
/* This is called when the page loading is done */
void _mod_2(id __self, SEL __cmd, id doc, BOOL error)
{
/* Make sure you always call the original method */
_orig_2(__self, __cmd, doc, error);
/* then do what you want */
}