有的app是AppDelegate,有的是XXXAppDelegate,我应该怎样写才能都hook到?

微信就是MicroMessengerAppDelegate,我想用一个通用的方法hook这个类应该怎么写呢?

1 个赞

UIKit里我记得有个方法可以获得app的delegate

[UIApplication sharedApplication].delegate 这样应该是可以取,但是如何使用theos的%hook来勾住呢。。

问题解决了,用Theos的Logos来写
%init(AppDelegate=[[UIApplication sharedApplication].delegate class]);

1 个赞

唉,[UIApplication sharedApplication].delegate必须在app初始化完成后才取得到值。。。

respond to selector + UIApplicationDelegate

这个不能解决吧

具体怎么实现能讲解一下吗

通求 也有这个需求……

Hook UIApplicationMain

hook UIApplication.setDelegate不就完了,拿到delegate实例,不就能hook它的任意方法了