2007年6月19日星期二

[原创]光盘镜像格式的一些总结(转寄)

发信人: readyu (DoDo), 信区: NewSoftware
标 题: [原创]光盘镜像格式的一些总结
发信站: 水木社区 (Wed Jun 13 16:38:21 2007), 站内

光盘镜像格式的一些总结

windows下的光盘镜像格式操作工具实在是多,但是开源的几乎没有。
比如:
winiso,ultraiso,poweriso,magiciso maker等等,界面类似,功能差不多。
一般都支持iso,bin,img,dmg,cdi,mds,ccd,ngr...等。这四个是国人写的,起了个洋名。
另外有一个老外的isobuster,是光盘读取技术的集大成者。其作者苦心孤诣。特别是用于从烂盘中提取数据等等。五花八门的旁门左道的隐藏目录,在它面前无处遁形。
他的作者说,对其他格式的支持都来源于逆向工程(reverse engineering, or backward engineering)。其实刘涛涛写第一个镜像处理软件WinISO,也是逆向了这些格式的。

The more difficult ones are those thought of by the different Write Application Vendors (*.cif, *.nrg, ...).

Again they come in many different formats but they are also not necessary identical to the CD content.
Some of them omit data between tracks or add data in between the (supposing) contiguous data blocks
which makes it hard to seek and find the correct data.
They contain headers and footers describing the image files layout so that many different formats can exist.

Unfortunately there are no Image File specifications.
IsoBuster's Image File support is completely done via backwards engineering.

对于普通数据盘,bin的block是2352 raw data ;iso的是2048 user data。
生成iso比bin大约小了14%。省了不少空间。

生成ISO是最基本的功能。经测试,发现isobuster,alcohol,ultraiso生成的方法一致;
poweriso,magiciso一致。后者会舍去最后的几百个全0x00字节的blocks。
所以隔了几百KB。但是就ISO数据而言,没有任何影响。

但是对于audio cd,加密盘,由于含有子通道。所以不能用iso格式。
一些游戏,加密盘复制镜像,得靠Alcohol, CloneCD。
CCD,MDS,BWT等支持加密的格式,一般由1个描述文件和1,2个数据通道文件组成。Alcohol的MDS可以轻松对付securom 7.x的加密盘。
它能读取DPM,然后储存在mds文件中。

很多格式是不开放的,所以资料只能靠google,或逆向。如果不考虑加密,光盘格式本身不复杂。linux下对普通镜像就是直接mount的。

要想支持别的私有格式,多数是靠摸索,利用google,以及自己逆向等等。
daemon-tools在这方面做的很牛逼。记得bwt v5刚出来,daemon就很快逆向了,推出bwtmount.dll。后来慢慢修正。基本上和BlindWrite自己的差不多了。

在sf.net找到一个开源项目cdi mage tools,不过仅支持cdi,nrg等很少的几种,04年就没更新了。现在很多格式都不支持。
http://sourceforge.net/projects/cdimagetools/

另外有一个CDemu,做的很不错。
CDemu for Linux
http://cdemu.sourceforge.net

刻录方面,免费的imgburn做的非常不错。其作者Lighting UK,以开发DVD Decrypter而知名。
http://www.imgburn.com/

虚拟刻录即Virutal Burner。并非nero那种只是自己识别的,而是指的对windows程序通用的。
德国的Virtual CD v9, 支持模拟 DVD/CD RAM (不只是ROM)。
可以让应用程序能使用这台虚拟的DVDRW输出刻录数据。
创此类软件的唯一。该设备在系统看来,如同物理刻录设备,接管应用程序的刻录动作。可以把所有需要备份到刻录机的数据,输出到指定的镜像。保存在HD上。适合symantec backup,acronis ture image,ibm backup bootcd等。但是virtual-cd的vcd格式只是自己私有,有压缩等高级功能。
商业软件:http://www.virtualcd-online.com/
主页上提供的demo版本无法注册的,也不能输入sn。有使用限制。
Virtual.CD.v9.0.0.2-YAG 出了完整的retail版本。

UltraISO的isz (iso zipped), PowerISO的daa (Direct-Access-Archive),
MagicISO的uif(universal image format)都是各自的私有格式。
支持压缩,镜像加密等高级属性。参看各自主页的描述。
daemon v4已经支持isz了。isz格式开放了。
http://www.ezbsystems.com/isz/iszspec.txt

由于历史遗留问题,不少的镜像文件格式都来源于私有,大小诸侯各自争夺地盘,没有统一的规范。带来使用上的不便。
比如:
BIN (CDRWin)
IMA/IMG (Generic disk images)
CIF (Easy CD Creator)
NRG (Nero Burning ROM)
IMG/CCD (CloneCD)
MDF/MDS (Fantom CD,Alcohol 120%))
VCD (Farstone Virtual Drive)
VaporCD (Noum Vapor CDROM)
P01/MD1/XA (Gear)
VC4/000 (Virtual CD)
VDI (Virtuo CD Manager)
C2D (WinOnCD)
BWI/BWT (BlinkWrite)
CDI (DiscJuggler)
TAO/DAO (Duplicator)
PDI (Instant Copy)
DMG (APPLE Disk Image)

有些格式随着软件市场的缩小,已经消亡。
所以,linux下很少理会这么多的格式。
CDemu也就mount几种常用的。
poweriso提供了一个免费的inux命令行工具,可以提取镜像文件。

--
If Euclid failed to kindle your youthful enthusiasm,
then you were not born to be a scientific thinker.


※ 来源:・水木社区 newsmth.net・[FROM: 59.56.87.*]

没有评论:

发表评论