逆向工程压缩的 iOS 应用程序文件

逆向工程 文件格式 ios 解压 未知数据
2021-07-03 05:42:39

我想找出用于音乐符号的 iOS 应用程序使用的压缩方法来存储其文件。它的 OSX 对应文件是压缩文件。您无法在 iOS 应用程序中创建文件,但您可以使用桌面应用程序将它们上传到应用程序的云服务器,然后从那里将它们下载到您的 iOS 设备以供离线查看。到目前为止我的发现:

  • 文件的标题是58 54 5A 00,未在我搜索过的任何文件签名表中列出
  • 通常的嫌疑人,命令filebinwalk,不识别格式
  • 熵直方图是平坦的
  • 每次我从服务器下载相同的文件到 iOS 设备时,都会保存一个大小完全相同但内容不同的文件(除了标题 58 54 5A 00`)。
  • 改变十六进制值
    • 最后两个字节:文件被 iOS 应用正常读取
    • 从末尾开始的第三个字节:当打开文件所在的文件夹时,应用程序变得无响应。由于每个文件都显示为乐谱的缩略图,我怀疑这个字节与缩略图有关。
    • 任何其他随机字节:缩略图显示正确,应用程序不会崩溃,但打开文件时出现空白页

下面的文件其实都是从服务器下载了4次的同一个文件。

我制作了三个文件,第一个包含“A”,第二个“AA”,第三个“AAA”。第一组文件来自 iOS,第二组来自 OSX。

.

1个回答

我认为这些文件是加密的而不是压缩的。

file从一开始就以所有偏移量运行,并发现相同偏移量的文件格式一致。

这些文件在前 4 个字节中只有一个常量值。其余的是高熵。

在不同时间保存的相同内容每次都会生成不同的二进制文件。

当内容大小不同时,文件大小在以前的实例中相似,表明某种填充。

我认为这可能是 IOS 处理某些应用程序文件安全的方式