如何使用iXGuard保护iOS应用免受攻击

4

iXGuard是一种类似于Android中使用DexGuard的代码混淆过程。现在,它也可以用于iOS项目中。请问是否有人知道如何在iOS项目中实现iXGuard。

2个回答

11
要使用 iXGuard 保护应用程序,您需要在 Xcode 项目的根目录中从终端运行 ixguard-install 命令。这将更新项目文件并添加一个新的 iXGuard 构建阶段,该阶段在构建您的应用程序时调用 iXGuard 二进制文件。您还需要创建一个 ixguard.yml 配置文件来启用不同的功能。
有关更多信息,请查看手册,手册位于安装后的路径为/Library/iXGuard/documentation/
(我是 iXGuard 的开发人员之一)

我浏览了iXGuard的网页,但是没找到iXGuard的客户信息。如何获取iXGuard客户的相关信息? - Viton Zhang
我们很遗憾不能透露我们的客户。 - Jonas
嗨@ShashiDev,我们很乐意帮助您进一步集成iXGuard。请通过我们的支持渠道联系我们,并确保附上您的日志文件。 - Jonas
嗨 Jonas,我收到了警告“无法解析反射调用'NSClassFromString'”。我已经按照文档尝试解决这个警告,并尝试将该字符串列入黑名单,但仍无法解决警告。所以你能帮我解决吗?注意-我没有访问您的支持权限。所以我在这里。 - Shashi Ranjan
应用ixGuard对.ipa文件进行处理后,我们会得到另一个名为"Application.obfuscated.ipa"的文件。但是当我尝试安装它时,出现了安装问题。安装失败并从设备中删除。 - Shashi Ranjan
显示剩余8条评论

3

这是我写的一个小文章 - 入门iXGuard - 一个混淆和应用缩减工具。

在本教程中,您将学习如何在iOS项目中实现iXGuard,并利用iXGuard进行应用程序缩减和混淆。 这是安装iXGuard的逐步过程教程。如果有任何问题,请告诉我。下面我简要解释了该过程。

无法在stackoveflow回答中通过图像编写或解释整个教程,因此提供了链接。

  1. 安装iXGuard

    • 使用安装包文件的标准过程为您的Xcode版本安装iXGuard。
  2. 创建基于Xcode 10.1的IPA

    • 使用Xcode的“产品” ->“归档”为分发创建文件。

2)选择Organizer中创建的存档,然后选择Distribute App。

3) 选择iOS App Store,然后点击下一步

4) 选择导出并点击下一步。

5) 包括iOS内容的位代码,并上传您的应用程序符号以接收来自Apple的符号化报告。勾选项目后,点击下一步

6) 在设置证书相关设置之后,导出并保存

  1. 创建ixguard.yml a. 对于每个应用程序,文件可能会不同。有关详细信息,请参见iXGuard的配置页面。

b.从导出ipa文件所在的文件夹到终端

ixguard.yml -o [混淆的IPA文件名] [生成的IPA文件名]

输入命令时,将创建ixguard.yml默认文件。

示例- ixguard.yml(这可能因项目而异)

  1. 应用iXGuard 从导出的ipa文件所在的文件夹到终端ixguard。 请在终端中输入以下命令。 config ixguard.yml -o [混淆后的IPA] [文件名] [生成的IPA文件名]以应用iXGuard。

    • 如果操作无误,则会创建一个混淆的ipa文件。

    • 在终端中有[warning]的日志的情况下,每种情况的解决方案与iXGuard手册相同

在故障排除 -> 运行时问题页面。—注意:外观

注意:结果屏幕

  1. 测试你的应用程序

    • 通过使用诸如 TestFlight 等方法在实际设备上测试应用程序的功能。

    • 特别是逻辑导向的测试需要令牌、认证密钥等。

  2. 混淆验证

    • 该部分已使用 MachOView 工具进行验证。

1)执行第2步创建ipa文件。包含 iOS 内容检查的位代码 - 发布并创建两个过时的ipa文件和两个未混淆的ipa文件。

2)更改相应ipa文件的扩展名为zip并进行解压缩。

3)在解压后的文件夹中有一个 Payload 文件夹,请检查其中的带有应用程序名称的应用程序文件。

4)右键单击应用程序并选择“查看包内容”。

5)复制包中带有应用程序名称的可执行文件并将其提取到任意目录。

6)使用 MachOView 应用程序打开混淆之前提取的可执行文件和混淆之后提取的可执行文件,

检查垃圾名称并确认是否已应用混淆。

参考教程中的图片。(上面:混淆之前,下面:混淆之后)

  1. 最后,在 App Store 中部署应用程序
    • Xcode -> 打开开发人员工具 -> 应用程序加载器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接