苹果私有字符串规避审核方法
一、苹果禁止使用私有API,以及私有的一些字符串
比如:
1 | let url = NSURL ( string : "prefs:root=SAFARI" )! |
因为出现了prefs:root=SAFARI,现在有人想用下面的字符串规避
1 | NSData *prefs = [[ NSString stringWithFormat:@ "%@%@%@%@" ,@ "APP" ,@ "-p" ,@ "refs:r" ,@ "oot=WIFI" ] dataUsingEncoding: NSUTF8StringEncoding ]; |
反编译一下看看生成的二进制代码
这些私有的字符串截断存储在一起,如果苹果采用别的方式,很容易判断使用了私有方法。
二、解决办法
如果苹果允许参数为变量的方式,那么问题只剩下在运行中怎么生成想要的参数,这里给出我的方式
使用方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | - ( void )openWIFI { NSString *xxx = @"YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0\ b3ASAAGGoKQHCA0OVSRudWxs0gkKCwxXY29udGVudFYkY2xhc3OAAoADXxAYYXBw\ LXNldHRpbmdzOnJvb3Q9U291bmRz0g8QERJaJGNsYXNzbmFtZVgkY2xhc3Nlc1tG\ dW5ueVN0cmluZ6ITFFtGdW5ueVN0cmluZ1hOU09iamVjdF8QD05TS2V5ZWRBcmNo\ aXZlctEXGFRyb290gAEIERojLTI3PEJHT1ZYWnV6hY6anamyxMfMAAAAAAAAAQEA\ AAAAAAAAGQAAAAAAAAAAAAAAAAAAAM4="; NSLog (@ "src str = %@" , [FunnyTool sourceStringFromFunnyString:xxx]); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC )), dispatch_get_main_queue(), ^{ NSURL *url = [ NSURL URLWithString:[FunnyTool sourceStringFromFunnyString:xxx]]; // NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^( BOOL success) { NSLog (@ "open %@ return %@" , url, @(success)); }]; }); } |
总结:
目前来看base64之后的私有方法名字字符串不会被扫描到,如果你需要加强,可以把base64后的字符串再次加密。
代码:
https://files.cnblogs.com/files/doudouyoutang/%E5%BD%92%E6%A1%A3.zip
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-07-06 Postman POST多个文件