原生代码
struct student{
long number;
char name[20];
char gender;
int age;
float salary;
char address[80];
};
@interface ViewController (){
struct student _aa;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self test1];
NSLog(@" _aa.number = %ld, _aa.age = %d",_aa.number,_aa.age);
}
- (void)test1{
_aa.number = 11;
_aa.age = 11;
NSLog(@"test1: _aa.number = %ld, _aa.age = %d",_aa.number,_aa.age);
}
hook 代码
struct student {
long long number;
char name[20];
char gender;
int age;
float salary;
char address[80];
};
%hook ViewController
- (void)test1{
%orig;
struct student *aa = &MSHookIvar<struct student>(self, "_aa");
aa->age = 18;
}
%end
日志打印
test1: _aa.number = 11, _aa.age = 11
_aa.number = 11, _aa.age = 18









网友评论