ios逆向笔记之Logos语法
使用的是CydiaSubstruct
1.非越狱机是通过动态库的注入
2.越狱是直接导入到系统里面
oc的hook利用的是运行时Runtime
c函数的hook利用的是fishHook
logos的语法
MSHookIvar(self,"123")//拿到某个方法的某个成员变量
%C(xxxx) 拿到具体某个类
%orig 保持函数原来的调用
%new 添加新的方法
在调用类方法时候 用%c(类)
拿到某个类的成员变量
NSString *key=nil;
for(int i = 0;i < numIvars;i++){
Ivar thisIvar = vars[i];
key =[NSString stringWithUTF8String:ivar_getName(thisIvar)]; //获取成员变量的名字
NSLog(@"variable name :%@",key);
key =[NSString stringWithUTF8String:ivar_getTypeEncoding(thisIvar)];//获取成员变量的数据类型
NSLog(@"variable type :%@",key);
}
free(vars);
Method *meth = class_copyMethodList(NSClassFromString(@"UIView"),&numIvars);
//Method *meth = class_copyMethodList([UIView class],&numIvars);
for(int i = 0;i < numIvars;i++){
Method thisIvar = meth[i];
SEL sel = method_getName(thisIvar);
const char *name = sel_getName(sel);
NSLog(@"zp method :%s",name);
}
free(meth);
WRUserProfileDataSource *placeholderLabel =[self valueForKeyPath:@"_profileDataSource"];
WRVIPCardSummary *vipCardSummaryModel =[placeholderLabel valueForKeyPath:@"_vipCardSummary"];
//拿到具体哪个成员变量
Ivar ivar =class_getInstanceVariable(objc_getClass("123"),"");;
网友评论