[Objective-C] 纯文本查看 复制代码CHDeclareClass(NSString)
CHOptimizedClassMethod0(self, BOOL, NSString, isVipUser){
BOOL kk = CHSuper0(NSString, isVipUser);
return YES;
}
CHOptimizedClassMethod0(self, BOOL, NSString, isPermanentVipUser){
BOOL kk = CHSuper0(NSString, isPermanentVipUser);
return YES;
}
CHConstructor{
CHLoadLateClass(NSString);
CHClassHook0(NSString, isVipUser);
CHClassHook0(NSString, isPermanentVipUser);
}
补充下分析过程
计算器虽然很多,但是都不咋好用,没有历史记录,有广告等等,下面说下分析过程:
1.手机需要越狱,然后使用frIDA-ios-dump,导出砸壳的包。frida-ios-dump安装教程如下:https://iosgods.com/topic/171082-frida-server-rootless-binary-dumpdecrypt/#comments
2.Charles抓包发现调用了XMGetMeCount接口,推测和vip有关。发现每次打开设置页面,都会调用这个接口,使用FLEXList越狱插件,查看设置页面控制器名称是SetViewController。
iShot_2024-03-20_09.45.56.jpg (139.84 KB, 下载次数: 0)
下载附件
2024-3-20 09:46 上传
3.使用Hopper Disassembler,导入ipa可执行文件,搜索SetViewController,查看伪代码,找到了调用XMGetMeCount接口的位置getMeData
iShot_2024-03-20_10.01.17.jpg (170.58 KB, 下载次数: 0)
下载附件
2024-3-20 10:01 上传
4.查看SetViewController getMeData的反汇编代码,在接口的block回调里,使用了XM_VIPToken字段,
iShot_2024-03-20_10.05.41.jpg (330.8 KB, 下载次数: 0)
下载附件
2024-3-20 10:06 上传
5.搜索XM_VIPToken,发现了NSString的两个类方法isVipUser、isPermanentVipUser
iShot_2024-03-20_09.49.05.jpg (250.87 KB, 下载次数: 0)
下载附件
2024-3-20 10:10 上传
6.monkeydev运行项目,hook这两个方法isVipUser、isPermanentVipUser,完成破解。 https://github.com/AloneMonkey/MonkeyDev/wiki
iShot_2024-03-20_10.14.11.jpg (341.61 KB, 下载次数: 0)
下载附件
2024-3-20 10:15 上传