为了账号安全,请及时绑定邮箱和手机立即绑定

Apple如何知道您正在使用私有API?

Apple如何知道您正在使用私有API?

牧羊人nacy 2019-12-07 14:47:58
我向苹果提交了一个二进制文件,没有任何源代码。除了手动检查源代码外,Apple怎么知道使用了什么以及调用了什么API?
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

您可以在终端中使用以下单行代码在Mach-O程序中列出选择器:


otool -s __TEXT __objc_methname "$1" |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'


查看完整回答
反对 回复 2019-12-07
?
智慧大石

TA贡献1946条经验 获得超3个赞

假设您要使用一些私有API;目标C允许您从字符串构造任何SEL:


   SEL my_sel = NSSelectorFromString([NSString stringWithFormat:\

@"%@%@%@", "se","tOr","ientation:"]);

    [UIDevice performSelector:my_sel ...];

机器人或图书馆扫描如何捕捉到这一点?他们将不得不使用一些在运行时监视私有访问的工具来捕获此问题。即使他们构建了这样的运行时工具,也很难抓住它,因为此调用可能隐藏在一些很少使用的路径中。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 446 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信