提取IPA文件和iOS应用程序的本地数据存储

本文介绍了将iOS应用程序的IPA和本地数据存储从iPhone / iPad提取到计算机上的物理磁盘的过程。 完成撰写后,您将能够从安全角度理解完成整个过程的重要性。 所需的先决条件是远程访问iPhone并了解iOS文件系统。 如果需要,请参阅我们之前的文章“了解iOS文件系统”。 让我们开始吧。

就像.APK文件被视为Android应用程序的安装文件一样,.IPA是iOS应用程序的打包文件。 区别在于,只能通过以下方法之一将.IPA文件安装在未越狱的iPhone上:

  • 企业移动设备管理这需要Apple签署的全公司范围的证书。
  • 通过侧面加载,即通过使用开发者的证书对应用进行签名并通过Xcode将其安装在设备上。 可以使用相同的证书安装数量有限的设备。

让我们看看如何提取从App Store安装的应用程序的IPA文件。

提取IPA文件的第一步是找到应用程序的“ .app目录”,该目录是应用程序的捆绑容器。 为此,我们将进入所需的应用程序目录。

现在,我们将尝试找到所需应用程序(例如Facebook)的.app目录。 这可以通过使用以下命令来完成:

屏幕快照中突出显示的文本是Facebook应用程序目录的名称。

请务必注意,.app目录的名称可能与应用程序的显示名称相同,也可能不同。 如果没有找到我们要查找的.app目录,我们可以简单地使用’ls *’,它将列出所有目录,然后我们可以进行手动搜索。

下一步是将.app目录复制到名称为 ‘Payload’的空目录。 如屏幕截图所示完成此操作。

现在,我们需要使用“ zip”实用程序将有效载荷目录压缩到任何所需的位置。 如果未安装“ zip”,则需要使用“ apt-get”进行安装。 安装“ zip”后,我们可以将zip压缩文件压缩并解压缩到我们的系统中。 我们应该将文件明确命名为“ .ipa”,以使其对进一步的分析,安装等有用。

为了在计算机上获取它,我们只需要使用scp或sftp即可,如屏幕截图所示。

为了提取本地数据存储,我们需要找出应用程序的数据容器的位置。 为此,我们必须首先了解以下几点:

  • 在设备上首次启动该应用程序时,iOS将为该应用程序创建数据容器和捆绑容器。
  • 在路径Library / Caches / Snapshots上,创建具有完全相同名称的目录。

因此,我们可以利用这一事实来定位应用程序的本地数据存储。 我们将以以下方式进行:

打开应用程序的Info.plist文件,然后搜索键“ Bundle Identifier”,如屏幕截图所示。

现在,我们需要在本地数据存储目录中搜索名称与CFBundleIdentifier相同的目录。 可以如图所示完成。

我们甚至可以优化搜索,如下所示。

可以使用Cydia的“ IPA Installer Console”提供的名为“ installipa”的工具来简化此操作。

进入本地数据存储目录后,我们可以使用zip,rar或7zip之类的任何工具压缩文件。

然后,我们可以将压缩文件移动到我们选择的任何位置。

现在,我们将再次使用scp或sftp在我们的计算机上获取文件。

一些应用程序使用共享存储目录。 此目录下的文件托管在应用程序组及其扩展名之间共享的数据。 这有助于他们安全地共享数据,而不会在沙箱中造成干扰。

要标识共享存储,请首先导航到“共享数据目录”。

现在,在此目录中搜索应用程序名称。

可以看出,“ Facebook”应用程序使用两个共享数据目录。

下一步是进入这些目录,压缩所有存在的数据,然后将压缩的文件移动到您选择的位置。

在最后一步中,使用scp或sftp将文件提取到计算机中。

在本文中,我们学习了如何将iOS应用程序的IPA和本地数据存储提取到计算机。 我们需要这些文件才能开始对应用程序进行静态分析。 接下来,我们将尝试了解iOS应用程序的结构,并从中收集尽可能多的信息,以了解iPhone中应用程序的工作情况。