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

文件头是58 54 5A 00,我搜索过的任何文件签名表中都没有列出
常见的可疑命令filebinwalk不会识别格式
熵直方图是平坦的
每次我从服务器将相同文件下载到iOS设备时,文件大小完全相同但内容不同(标题58 58 5A除外) 00`)将保存。
更改十六进制值

后两个字节:iOS应用正常读取文件
末尾第三个字节:打开文件夹后应用无响应该文件已插入。由于每个文件都显示为乐谱的缩略图,因此我怀疑该字节与缩略图有关。
其他任意字节:缩略图显示正确,应用不会崩溃,但打开文件时出现空白页



以下文件实际上是从服务器下载4次的相同文件。

版本ion_1
版本_2
版本_3
版本_4


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

FileA_iOS
FileAA_iOS
FileAAA_iOS
Screenshot_iOS
FileA_OSX
FileAA_OSX
文件AAA_OSX
屏幕截图_OSX


评论

您在其中输入文本的应用程序的屏幕截图。一句话9k相当大。尝试创建仅以字母“ a”作为输入的文件,然后创建另一个以“ aa”作为输入的文件。这两个文件的大小相差多少?然后使用'aaa'创建一个文件,它与文件'aa'的数量相同吗?

我用更多信息编辑了问题,并用截屏编辑了一组不同的文件。所有三个iOS文件的大小均为4400字节。

如果创建另一个仅包含A的文件,那么该文件中的字节值是否与之前只有A的文件相同?

前3个字节解码为XTZ。那有意义吗?字节值0x82(十进制130)在每个文件中出现16次。您能否解释这些文件与此应用程序的关系:apps.apple.com/us/app/musescore-sheet-music/id835731296您正在将OSX文件上传到IOS应用程序中,而IOS应用程序以mscze格式存储它们?

-没有字节值不相同。我猜保存的文件中有时间戳-标头XTZ没有意义,您提到的字节值也没有-确实是这些文件所属的musescore应用-桌面应用将文件上传到musescore的服务器,从那里下载到iOS设备

#1 楼

我认为这些文件是加密的,而不是压缩的。
我已经在从开始的所有偏移处运行file,发现在相同偏移处的文件之间的格式是一致的。
文件的第一个文件中只有一个恒定值4字节。其余的都是高熵。
在不同时间保存的相同内容每次都会生成不同的二进制文件。
在以前的情况下,如果内容大小不同,则文件大小相似,表明存在某种填充。
我认为这可能是IOS处理某些应用程序文件安全性的方式