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
- 使用命令
ipainstaller -l
列出设备上安装的应用程序。从输出列表中获取目标应用程序的名称。 - 使用命令
ipainstaller -i [APP_NAME]
显示有关目标应用程序的信息,包括安装和数据文件夹的位置。 - 获取以
Application:
开头的行引用的路径。
使用以下方法来修补 JavaScript 文件
- 导航到应用程序文件夹。
- 将文件
Payload/[APP].app/main.jsbundle
的内容复制到临时文件。 - 使用
JStillery
美化和反混淆临时文件的内容。 - 在临时文件中识别应修补的代码并进行修补。
- 将*修补后的代码*放在一行上,然后将其复制到原始的
Payload/[APP].app/main.jsbundle
文件中。 - 关闭并重启应用程序。