2007 年,我备份了自 2000 年以来一直拥有的 Deus Ex CD(与 Sound Blaster Audigy 捆绑销售)。备份包含两个文件:
deusex_v1003c.iso (824148576 bytes)
deusex_v1003c.toc (50 bytes)
我会使用 NEC ND-3540A 驱动器和当时最新版本的 Ubuntu(可能使用 Brasero 或 k3b)来翻录这些内容。
我确信,尽管文件扩展名不同,但第一个文件并不在ISO 9660 格式,而第二个文件不在cdrdao TOC 格式。
第二个文件的 50 个字节完整复制如下:
$ hexdump -C deusex_v1003c.toc
00000000 00 2e 01 01 01 14 00 a0 00 00 00 00 01 20 00 01 |............. ..|
00000010 14 00 a1 00 00 00 00 01 00 00 01 14 00 a2 00 00 |................|
00000020 00 00 4a 32 3e 01 14 00 01 00 00 00 00 00 02 00 |..J2>...........|
00000030 42 52 |BR|
00000032
这里似乎很少有有用的信息。
“iso”文件对标准工具没有响应:
$ sudo mount deusex_v1003c.iso -o loop -t iso9660 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop12, missing codepage or helper program, or other error.
$ file deusex_v1003c.iso deusex_v1003c.toc
deusex_v1003c.iso: data
deusex_v1003c.toc: data
它似乎不是 bin/cue 格式:
$ bchunk deusex_v1003c.iso deusex_v1003c.toc out.iso
binchunker for Unix, version 1.2.2 by Heikki Hannikainen <[email protected]>
Created with the kind help of Bob Marietta <[email protected]>,
partly based on his Pascal (Delphi) implementation.
Support for MODE2/2352 ISO tracks thanks to input from
Godmar Back <[email protected]>, Colas Nahaboo <[email protected]>
and Matthew Green <[email protected]>.
Released under the GNU GPL, version 2 or later (at your option).
Reading the CUE file:
Writing tracks:
.bin
(我在将文件分别物理重命名为和后尝试了上述操作.cue
- 结果相同)。
深入研究该.iso
文件,前 4096 个字节似乎没有什么意义:
$ hexdump -n 4096 -C deusex_v1003c.iso
00000000 00 ff ff ff ff ff ff ff ff ff ff 00 00 02 00 02 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000930 00 40 00 00 00 00 00 40 00 00 00 00 00 00 00 40 |.@.....@.......@|
00000940 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 |.......@........|
00000950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 |...............@|
00000960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000970 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 40 |......@........@|
00000980 40 00 00 40 00 00 40 00 00 40 00 00 00 00 40 00 |@..@..@..@....@.|
00000990 00 ff ff ff ff ff ff ff ff ff ff 00 00 02 01 02 |................|
000009a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000
直到偏移量 0x9910 我们才得到一些更有趣的东西:
00009910 00 00 09 00 00 00 09 00 01 43 44 30 30 31 01 00 |.........CD001..|
00009920 43 44 2d 52 54 4f 53 20 43 44 2d 42 52 49 44 47 |CD-RTOS CD-BRIDG|
00009930 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |E |
00009940 44 45 55 53 45 58 5f 56 31 30 30 33 43 20 20 20 |DEUSEX_V1003C |
00009950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00009960 00 00 00 00 00 00 00 00 55 21 05 00 00 05 21 55 |........U!....!U|
00009970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00009990 01 00 00 01 01 00 00 01 00 08 08 00 6c 00 00 00 |............l...|
000099a0 00 00 00 6c 17 00 00 00 00 00 00 00 00 00 00 18 |...l............|
000099b0 00 00 00 00 30 00 1b 00 00 00 00 00 00 1b 00 08 |....0...........|
000099c0 00 00 00 00 08 00 64 08 1c 0b 32 3b 00 02 00 00 |......d...2;....|
000099d0 01 00 00 01 01 00 20 20 20 20 20 20 20 20 20 20 |...... |
000099e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00009c40 20 20 20 20 20 32 30 30 30 30 38 32 38 31 33 35 | 20000828135|
00009c50 39 35 35 30 30 00 32 30 30 30 30 38 32 38 31 33 |95500.2000082813|
00009c60 35 39 35 35 30 30 00 30 30 30 30 30 30 30 30 30 |595500.000000000|
00009c70 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 |0000000.00000000|
00009c80 30 30 30 30 30 30 30 30 00 01 00 00 00 00 00 00 |00000000........|
00009c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00009d10 00 00 00 00 00 00 00 00 43 44 2d 58 41 30 30 31 |........CD-XA001|
这让我觉得这张照片CD-ROM XA 格式。我下载了参考资料atari.iso
,发现魔术字符串CD001
出现在偏移量 0x8000+1 处,前面只有零字节。我删除了前 0x9918 个字节deusex_v1003c.iso
,并用 0x8000 个零字节替换它们(调用结果dx.iso
)。
file
现在认为它识别该格式:
$ file dx.iso
dx.iso: ISO 9660 CD-ROM filesystem data 'DEUSEX_V1003C'
但是,它仍然无法安装。我的最终想法是尝试运行ddrescue
原始文件或生成的.iso
文件:
$ ddrescue deusex_v1003c.iso rescue.iso
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 824115 kB, non-trimmed: 0 B, current rate: 254 MB/s
opos: 824115 kB, non-scraped: 0 B, average rate: 412 MB/s
non-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s
rescued: 824148 kB, bad areas: 0, run time: 1s
pct rescued: 100.00%, read errors: 0, remaining time: n/a
time since last successful read: n/a
Finished
尽管声称成功了,但rescue.iso
仍然没有安装。
我现在不知道下一步该怎么做。如果我继续滚动十六进制转储(我可以看到文件名),数据确实在那里。我意识到此时重新购买游戏会更容易,但我觉得在过去 12 年里一直保留这个文件,却发现它毫无用处,这太可惜了。
曾经满足了阅读和理解 ISO 的需求mount
。现在我想知道我们是否可以使用数据挖掘算法实现相同的功能。
答案1
如果不知道创建该格式的实用程序的名称,我无法帮助识别该格式。而且,如果恢复,它是否仍可在现代计算机上播放也不确定。
但如果你想玩游戏,我可以提供帮助。
目前,游戏《杀出重围:年度游戏版》正在推广中 在 Steam 上 约 1 美元(优惠两天后结束)。