微信iOS逆向之假装很多人点赞和评论
最近发现一个朋友喊我点赞,他正在某商圈吃饭,说点到60个赞可以获得一个免单卡。于是诞生了做一个模拟点赞、评论差插件的想法。
HOOK代码如下
// 模拟点赞 评论
%hook WCDataItem
- (id)likeUsers{
NSString *username = MSHookIvar<NSString *>(self,"username");
if(![username isEqualToString:@"wxid_habr0tlcl12m12"]){// 自己的号ID 不然所有人都会有很多赞
return %orig;
}
NSMutableArray *origList = (NSMutableArray *)%orig;
NSMutableArray *arrList = [[NSUserDefaults standardUserDefaults] objectForKey:@"CommentDicMultiSelect"];
if(origList.count<arrList.count){
for (NSDictionary *dict in arrList) {
NSObject *user = [[NSClassFromString(@"WCUserComment") alloc] init];
[user setValue:[dict objectForKey:@"username"] forKey:@"username"];
[user setValue:[dict objectForKey:@"nickname"] forKey:@"nickname"];
[user setValue:@1523148972 forKey:@"createTime"];
[user setValue:@1 forKey:@"type"];
[origList addObject:user];
}
}
return origList;
}
// 虚拟评论
- (id)commentUsers{
NSString *username = MSHookIvar<NSString *>(self,"username");
int createtime = MSHookIvar<int>(self,"createtime");
if(![username isEqualToString:@"wxid_habr0tlcl12m12"]){// 自己的的号
return %orig;
}
NSMutableArray *origList = (NSMutableArray *)%orig;
NSMutableArray *arrList = [[NSUserDefaults standardUserDefaults] objectForKey:@"CommentDicMultiSelect"];
NSArray *commentList = @[
@"看上去不错",
@"带我一个",
@"6666",
@"可以啊",
@"哥又去潇洒了啊",
@"怎么不带我?",
@"沙发",
@"在哪啊",
@"啥东西",
@"味道怎么样",
@"好不好吃",
@"最近咋都不联系我了",
@"厉害了",
@"你好"
];
NSArray *minList = @[@"1",
@"15",
@"20",
@"60",
@"90",
@"130",
@"150",
@"200",
@"210",
@"260",
@"250",
@"255",
@"275",
@"300",
];
NSInteger i = 0;
if(origList.count<commentList.count){
for (NSDictionary *dict in arrList) {
if(i<commentList.count){
NSObject *user = [[NSClassFromString(@"WCUserComment") alloc] init];
[user setValue:[dict objectForKey:@"username"] forKey:@"username"];
[user setValue:[dict objectForKey:@"nickname"] forKey:@"nickname"];
[user setValue:[commentList objectAtIndex:i] forKey:@"content"];
[user setValue:[NSNumber numberWithInteger:createtime+[[minList objectAtIndex:i] integerValue]] forKey:@"createTime"];
[user setValue:@1 forKey:@"type"];
[origList addObject:user];
i++;
}
}
}
return origList;
}
-(int)likeCount{
NSArray *arr = MSHookIvar<NSArray *>(self,"likeUsers");
if(!arr){
return 0;
}
return arr.count;
}
// 评论条数
-(int)commentCount{
NSArray *arr = MSHookIvar<NSArray *>(self,"commentUsers");
if(!arr){
return 0;
}
return arr.count;
}
%end