IOS Swizzle(hook)
2014-06-07 22:01
148 查看
///////////////////////////////////////////////////////////////////////////////////////////////////
#import "NSArray+swizzle.h"
@implementation NSArray (swizzle)
-(id) myLastObject
{
id ret = [self myLastObject];
NSLog(@"-----myLastObject-------");
return ret;
}
@end
////////////////////////////////////////////////////////////
#import "NSArray+swizzle.h"
#import <objc/runtime.h>
Method ori = class_getInstanceMethod([NSArray class], @selector(lastObject));
Method new = class_getInstanceMethod([NSArray class], @selector(myLastObject));
method_exchangeImplementations(ori, new);
NSArray * array = @[@"0",@"1",@"2",@"3"];
NSString * str = [array lastObject];
NSLog(@"str:%@",str);
输出
-----myLastObject-------
str:3
解释:以上代码将lastObject与myLastObject。
所以 [array lastObject]这句话调用的应该是 myLastObject,而在myLastObject里面调用myLastObject其实就是调用lastObject。
#import "NSArray+swizzle.h"
@implementation NSArray (swizzle)
-(id) myLastObject
{
id ret = [self myLastObject];
NSLog(@"-----myLastObject-------");
return ret;
}
@end
////////////////////////////////////////////////////////////
#import "NSArray+swizzle.h"
#import <objc/runtime.h>
Method ori = class_getInstanceMethod([NSArray class], @selector(lastObject));
Method new = class_getInstanceMethod([NSArray class], @selector(myLastObject));
method_exchangeImplementations(ori, new);
NSArray * array = @[@"0",@"1",@"2",@"3"];
NSString * str = [array lastObject];
NSLog(@"str:%@",str);
输出
-----myLastObject-------
str:3
解释:以上代码将lastObject与myLastObject。
所以 [array lastObject]这句话调用的应该是 myLastObject,而在myLastObject里面调用myLastObject其实就是调用lastObject。
相关文章推荐
- IOS使用 swizzle 解决一些错误
- IOS中如何Hook消息
- ios swizzle
- Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP
- 【iOS】【项目全局动态埋点】Runtime+Aspects(hook)
- ios runtime swizzle
- iOS开发 - iOS的hook方案
- iOS开发中乱用hook可能导致灾难
- IOS 页面统计 SWIZZLE 的简单应用
- IOS中如何Hook消息
- 利用ios的hook机制实现adobe air ios ane下appdelegate的动态替换
- IOS中如何Hook消息
- IOS中如何Hook消息
- IOS中如何Hook消息
- hook ios
- IOS中如何Hook消息
- iOS的hook方案: Method Swizzling
- iOS中Hook消息的实现
- [个人收藏]iOS HOOK 注入与重签名
- iOS App 无代码入侵的方法hook