美文网首页
iOS hook方法交换

iOS hook方法交换

作者: 假如兔子失了尾 | 来源:发表于2024-03-25 16:09 被阅读0次
- (void)replaceMethod:(Class)aClass originalSelector:(SEL)originalSelector swizzledSelector:(SEL)swizzledSelector {
    Method originalMethod = class_getInstanceMethod(aClass, originalSelector);
    Method swizzledMethod = class_getInstanceMethod(aClass, swizzledSelector);
    BOOL didAddMethod = class_addMethod(aClass,
                                        originalSelector,
                                        method_getImplementation(swizzledMethod),
                                        method_getTypeEncoding(swizzledMethod));
    
    if (didAddMethod) {
        NSLog(@"已经添加了 添加方法 class_replaceMethod %@",NSStringFromSelector(swizzledSelector));
        class_replaceMethod(aClass,
                            swizzledSelector,
                            method_getImplementation(originalMethod),
                            method_getTypeEncoding(originalMethod));

    } else {
        NSLog(@"没有添加成功,交换方法 method_exchangeImplementations %@",NSStringFromSelector(swizzledSelector));
        method_exchangeImplementations(originalMethod, swizzledMethod);
    }

}

相关文章

  • Hook Objective-C中的block

    前言 iOS的方法交换能为我们 hook 实例方法,也能为我们 hook 类方法,但是对于 Block 却无能为力...

  • iOS逆向 ---- Hook方法及原理OC篇

    iOS逆向 ---- Hook方法及原理OC篇[iOS逆向 ---- Hook方法及原理OC篇](阅读原文

  • OC交换方法

    title: OC交换方法date: 2017-08-27tags: hook,method swizzling,...

  • 设置应用字体大小

    给UIFont写分类, 在load内进行方法交换(hook系统的方法, 调用自己的方法实现), 在自己的方法中进行...

  • iOS 无感知埋点的原理

    iOS开发中,一般使用hook的方式实现无感知埋点,hook过程一般在load方法中,通过方法的exchange来...

  • iOS 逆向

    iOS安全攻防了解iOS 逆向, 需要了解汇编的知识Hook 钩子, 勾住某个方法, 从而修改方法的实现 逆向简介...

  • AvoidCrash

    该框架使用方法交换,将若干类的常见崩溃方法hook住,用try...catch...捕获Exception异常而避...

  • MethodSwizzling

    方法交换 坑点1 例子: 很明数组越界报异常,那么就可以利用runtime,进行方法hook 发现还是报错 -[_...

  • 【iOS】Hook系统代理方法,添加UIScrollView滚动

    title: 【iOS】Hook系统代理方法,添加UIScrollView滚动停止回调date: 2018-01-...

  • iOS:动态库的加载顺序

    在写 《iOS:load方法能不能被hook?》 和 《iOS启动优化:App启动耗时在线监控与AppDele...

网友评论

      本文标题:iOS hook方法交换

      本文链接:https://www.haomeiwen.com/subject/ezzdtjtx.html