如何从iOS应用程序中删除这些受损的选择器

问题描述 投票:3回答:1

我需要帮助删除我的iOS应用程序中已知的错位选择器。

Apple拒绝了我的应用说明:

关于准则2.3.1,该应用程序经过验证,包含错误的选择器,如- x7kQPFEZS4af59md1eVMqf42YSTGAZVO:i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws

我尝试运行nm命令列出所有符号,然后使用grep搜索上面提到的选择器:

grep -p 7kpfezs4af59md1evmf42stgas。

grep -p i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws。

两个grep都显示以下结果:

二进制文件./Payload/MyAppName.app/MyAppName匹配

MyAppName是二进制文件(unix可执行文件)。

如何进一步从我的iOS应用程序中删除这些受损的选择器? (或者至少找到创建此选择器的代码/框架)

ios app-store obfuscation nm otool
1个回答
4
投票

我使用反汇编程序Hopper来定位一个有错误选择器的库。我按照以下步骤操作:

  1. 从Xcode项目创建.ipa文件(不确定它是否作为开发或App Store构建导出,您可能必须尝试每个)。
  2. 解压缩.ipa文件
  3. 打开Hopper应用程序,解压后将.app文件拖放到Payload文件夹中。
  4. 当被问到时,将其加载为“FAT存档”。
  5. 让应用程序完成扫描。
  6. 在左侧菜单中搜索受损的选择器名称。
  7. 选择匹配的选择器,在右侧的详细信息窗格中,我可以找到一些项目特定的类/方法名称。我在项目中搜索了这些类和方法名称并找到了库。

删除该库后,该应用程序已获批准。

© www.soinside.com 2019 - 2024. All rights reserved.