关于Frameworks的Hook问题

我用开发环境Xcode的MonkeyDev

我破壳项目A.app 获取的头文件a.h ,获取A.app的Frameworks 获取到头文件b.h

@interface a : NSObject

@interface b : NSObject

结果我可以Hook a 而且我在控制台可以从hook的a里面打印出b

但是我hook b 失败了 控制台打印不出来

怎么回事 怎么处理

你的 hook 方法写在哪里了?framework 什么时候加载,有没有懒加载?确定下 b 中方法有没有调用

我用得的是Xcode创建Logos Tweak的项目
hook都是写在伴生.xm
具体我hook AppDelegate 是成功的
但是UITabBarController是在frameworks里面 结果我hook UITabBarController 时失败了

先手动dlopen再hook,hook完看看指针是不是空的。

不了解怎么使用dlopen能指教下怎么使用吗
就要dlopen 项目A下面自己私有的Frameworks
谢谢

id a =[NSBundle mainBundle];
id path = [a bundlePath];
id bp = [path stringByAppendingString:@"/Frameworks/UnityFramework.framework"];
id c =[NSBundle bundleWithPath:bp];
[c load];
1 个赞

谢谢 我去试试 是在启动前调用吗