KKHook 3.0.0

KKHook 3.0.0

Ryker Yin维护。



KKHook 3.0.0

  • 作者:
  • rykeryin

KKHook

CI Status Version License Platform

示例

简单的两步钩子,用于 OC 方法和符号

  1. 初始化 Hooker
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    KKHookInit
    return YES;
}
  1. 钩子示例
#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 文件。