我在 mac OS X ML 10.8 中创建磁盘加密(使用 Disk utiliti 或使用命令 hdiutil )。我想读取该磁盘中的文件,但我无法挂载它。因为当我挂载它时,另一个应用程序可以在我卸载之前读取它。请帮助我。(这里的hdiutil命令http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/hdiutil.1.htm
问问题
391 次
2 回答
0
我认为唯一合理的方法是挂载磁盘映像。要安全地执行此操作,您可以使用-mountrandom
和-nobrowse
选项hdiutil attach
。这将以随机路径名安装磁盘映像,并防止它在 UI 中可见。
hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret_image.dmg
假设磁盘映像只有一个 HFS 分区,您可以像这样解析随机挂载路径:
hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret.dmg | awk '$2 = /Apple_HFS/ { print $3 }'
或者,您可以使用 -plist 选项以 plist XML 格式获取输出,该格式可以使用 XML 工具解析或使用plutil -convert json
.
当然,具有 root 访问权限的攻击者仍然可以监视新的挂载并在您有机会卸载它之前拦截您的磁盘映像,但是如果您的攻击者具有 root 权限,那么几乎所有的赌注都没有了。
于 2013-02-06T09:23:52.690 回答
0
为此,您必须自己读取和解密 dmg 文件,然后解释磁盘映像中的 HFS 文件系统以获取您的文件。这并不容易,但肯定是可能的。查看HFSExplorer源代码。
但我不会在这方面投入太多精力。要么使用更易于阅读的不同文件格式来存储加密数据,要么使用 pajps 解决方案。请记住,无论您做什么,一旦您解密您的文件,用户将能够获得解密的数据。你可以让这更难,但你不能阻止它。
于 2013-02-06T09:32:46.467 回答