有谁知道 Mac OS X 验证磁盘映像 (.dmg) 文件时幕后究竟发生了什么?有什么方法可以扩展或定制程序吗?
编辑:我想创建一个磁盘映像,以验证它是否完全按照它应该做的那样做,仅此而已。例如,如果我分发了一些管理密码的软件,恶意用户可能会修改我的包,将密码发送给无根据的第三方。对于最终用户来说,功能似乎与我的程序相同,他们永远不会知道包被破坏了。我想在安装时执行此验证。
据我所知,你不能修改这个过程(除非你做了一些我不推荐的系统黑客)。我相信它会将其与内部校验和进行比较,并确保磁盘的卷标头正常。它会检查所有文件以查看是否有任何文件损坏。
我对 dmg 的理解是有限的,但据我所知,它本质上是一种 osx 特定的存档格式,类似于 zip。一种选择是也分发 dmg 的校验和。这不是很有用,因为攻击者可以更改用户从您的站点下载的 dmg,他们也可以修改校验和。
我相信您正在寻找的功能是代码设计。这是对应用程序自作者签名后未被修改的加密验证。使用它有一点障碍,因为您需要来自苹果开发者计划的开发者证书。
Apple 关于代码设计的文档可以在这里找到: https ://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW5