KKHook
示例
简单的两步钩子,用于 OC 方法和符号
- 初始化 Hooker
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
KKHookInit
return YES;
}
- 钩子示例
#import <KKHook/KKHook.h>
#import <UIKit/UIKit.h>
// Example: Hook UnImported KKViewController
KKClassHookUnImported(KKViewController)
- (void)hook1_viewDidLoad {
printf("KKViewController viewDidLoad hooked 1 \n");
[self hook1_viewDidLoad];
}
KKClassHookEnd
// Example: Hook Imported UIViewController
KKClassHookImported(UIViewController)
- (void)hook_viewWillAppear:(BOOL)animated {
printf("\nUIViewController viewWillAppear hooked\n");
}
- (void)hook_viewDidLoad {
printf("UIViewController viewDidLoad hooked\n");
}
KKClassHookEnd
// Example: Hook fopen
KKSymbolHook(FILE *, fopen, const char * __restrict __filename, const char * __restrict __mode) {
printf("fopen hooked\n");
return orig_fopen(__filename, __mode);
}
KKSymbolHookRegister(fopen);
要求
安装
KKHook 通过CocoaPods提供。要安装它,只需将以下行添加到您的 Podfile。
pod 'KKHook'
作者
rykeryin,[email protected]
许可证
KKHook 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。