2025年5月21日 星期三 乙巳(蛇)年 二月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 文件格式与编码

DMG文件格式

时间:05-25来源:作者:点击数:34

Mac上的DMG文件从根本上来说,是一个disk image的container。它可以对数据进行了分块、压缩、加密等。

而刻录光盘用的".iso"或".img"文件,则和数据流直接对应。

DMG文件数据结构

DMG文件的末尾0x200个字节是一个简称为kylo的数据结构。这个结构中标明了一个plist文件内容的存储位置。通过这个plist文件的内容,可以知道具体数据块(data block)的位置。

  • set schema {
  • {a4 signature : "kylo"}
  • {I version}
  • {I hsize : "header length. 512 bytes"}
  • {I flags}
  • {W runningDataForkOffset}
  • {W dataForkOffset}
  • {W dataForkLength}
  • {W rsrcForkOffset}
  • {W rsrcForkLength}
  • {I iSegment}
  • {I nSegment}
  • {a16 idSegment - "128-bit number like GUID, but seems not a OSF GUID"}
  • {a136 dataForkChecksum -}
  • {W xmlForkOffset : "plist File offset"}
  • {W xmlForkLength}
  • {a120 - - "reserved! Good for store data"}
  • {a136 masterChecksum -}
  • {I imgVariant}
  • {I nSector}
  • {I - - "reserved"}
  • {I - - "reserved"}
  • {I - - "reserved"}
  • }
  • set file "mac.dmg"
  • hexdump::open $file
  • set values [hexdump::struct $schema -0x200 end]
  • hexdump::print_struct $schema $values
  • hexdump::close

网络资源

  • libdmg: Portable libraries and utilities that manipulate HFS+ volumes and Apple's DMG images
  • dmg2iso/dmg2img: 转换DMG文件为".iso"或".img"文件
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门