MASTG-TECH-0098: 修补 React Native 应用

如果使用 React Native 框架进行开发,则主应用程序代码位于 Payload/[APP].app/main.jsbundle 文件中。此文件包含 JavaScript 代码。大多数情况下,此文件中的 JavaScript 代码都经过了精简。使用工具 JStillery,可以恢复该文件的可读版本,从而可以进行代码分析。JStillery 的 CLI 版本和本地服务器比在线版本更可取,因为后者会将源代码泄露给第三方。

在安装时,应用程序存档被解压缩到 /private/var/containers/Bundle/Application/[GUID]/[APP].app 文件夹中(从 iOS 10 开始),因此可以在此位置修改主 JavaScript 应用程序文件。

要确定应用程序文件夹的确切位置,您可以使用 ipainstaller

  1. 使用命令 ipainstaller -l 列出设备上安装的应用程序。从输出列表中获取目标应用程序的名称。
  2. 使用命令 ipainstaller -i [APP_NAME] 显示有关目标应用程序的信息,包括安装和数据文件夹的位置。
  3. 获取以 Application: 开头的行引用的路径。

使用以下方法来修补 JavaScript 文件

  1. 导航到应用程序文件夹。
  2. 将文件 Payload/[APP].app/main.jsbundle 的内容复制到临时文件。
  3. 使用 JStillery 美化和反混淆临时文件的内容。
  4. 在临时文件中识别应修补的代码并进行修补。
  5. 将*修补后的代码*放在一行上,然后将其复制到原始的 Payload/[APP].app/main.jsbundle 文件中。
  6. 关闭并重启应用程序。