Nero 的影像檔研究



贊助商連結


Scorpion
2001-08-19, 04:39 AM
Nero 的影像檔研究


Nero 簡單易用,是很受歡迎的一套燒錄軟體,但是用其將光碟製成影像檔卻會
在檔頭、檔尾加料,造成其他燒錄軟體、Daemon Tools 無法辨識,每一次大改
版檔尾加料部份也會不同,甚至造成舊版 Nero 無法認得新版製作的影像檔!


為了釐清這個疑問,特別研究一下,Nero 會因為影像檔的製作方式不同而有格
式上的差異,共有三種!


註:只針對單軌的 MODE1 影像檔而言。


此次實驗,影像檔來源有二:


1.Plextor Manager 2000 光碟,資料只有 19MB,可快速抓取影像檔比對,為
MODE 1,各軟體報告這片光碟的容量為 02:06.65 = 9515 sector(不包含
Pregap 的兩秒 150 sector)。


2.硬碟某一檔案資料夾 (大小為 1,319,107 bytes) 以 Nero 轉成影像檔。


測試的 Nero 版本涵蓋 4006、4070、5038、5048、5518、5535 各大改版六種
版本。


對照組為 IsoBuster 0.99.6、CDRWIN 3.8C 製作出來的影像檔(光碟部份),
以 MODE1/2048 格式抓出的影像檔大小均為 19486720 bytes = 9515 sector,
兩者內容比對相同!


上述實驗用的光碟為單一軌段的 MODE1 格式,用 Nero 抓影像檔有兩種方式:


1.使用 CD-COPY 的功能,先在 [CD-Recoder] 選單的 [Choose Recoder...]
改選 [Image Recoder],然後 CD-COPY,如此做出來的影像檔檔頭多了 150
sector (307200 byte),檔尾加料因 Nero 版本不同而使得寫入的 byte 數
有異!


註:很明顯的看出這種 CD-Copy「Disc-At-Once」方式會連同一開始的兩秒
Pregap 一同抓下,DiscJuggler 3.00.790 也是一樣的情形!


2.[CD-Recoder] 選單的 [Save Track] 功能,這樣的方式,檔頭正常不會多加
150 sector,而檔尾加料因 Nero 版本不同而使得寫入的 byte 數有異!


三種大改版的 Nero 差異如下:


Nero 4.0.x.x


CD Copy 的影像檔 --> 19,794,036 bytes


19794036 - 150*2048 - 116 = 19486720 = 9515 sector


註:150*2048 = 307200 bytes,此為檔頭加入的空白,116 bytes 則是 Nero
加在檔尾的部份,以下均同。


Save Track 的影像檔 --> 19,484,720 bytes


19484720 - 48 = 19484672 = 9514 sector


註:48 bytes 為 Nero 加在檔尾的部份,以下均同。


Nero 5.0.x.x


CD Copy 的影像檔 --> 19,794,036 bytes


19794036 - 150*2048 - 116 = 19486720 = 9515 sector


Save Track 的影像檔 --> 19,484,708 bytes


19484708 - 36 = 19484672 = 9514 sector


Nero 5.5.x.x


CD Copy 的影像檔 --> 19,794,052 bytes


19794052 - 150*2048 - 132 = 19486720 = 9515 sector


Save Track 的影像檔 --> 19,484,708 bytes


19484708 - 36 = 19484672 = 9514 sector


歸納:


CD-COPY 的影像檔,檔頭加 150 sector 十六進位 0 值內容,檔尾部份 40xx、
50xx 加 116 bytes,5535 加 132 bytes,扣除這些部份整個 9515 sector 全
部完整抓下來!


Save Track 的影像檔,檔頭不加 150 sector,檔尾部份全部都少一個十六進位
0 值內容的 sector 只抓 9514 sector,檔尾添加的部份,40xx 為 48 bytes,
50xx、55xx 為 36 bytes。


把這些檔頭、檔尾的部份去除,與 IsoBuster、CDRWIN 的 MODE1/2048 影像檔
比對內容完全相同!


這樣光碟影像檔部份已經有兩種格式,另外第三種是將硬碟上的檔案以 Nero 製
成影像檔。


製作方式:


與 CD-Copy 影像檔一樣,在 [CD-Recoder] 選單的 [Choose Recoder...] 改選
[Image Recoder],然後依照一般將檔案燒到光碟的步驟操作,把檔案拉進之後
開啟燒錄對話框,在 [Burn] 這一頁可以看到「Disc-At-Once」是呈現可以選擇
勾選的狀態。


如果勾選「Disc-At-Once」,則做出來的影像檔,其檔頭檔尾添加的部份完全與
CD-Copy 將光碟製成影像檔的格式一樣!


如果不勾選「Disc-At-Once」,則檔頭不加 150 Sector,檔尾添加的部份:


Nero 40xx --> 58 bytes


Nero 50xx --> 56 bytes


Nero 55xx --> 72 bytes


關於 Nero 新舊版本的影像檔辨識:



Nero 50xx 可以辨識 40xx 版做出來的所有影像檔,對於比它新的 55xx 版本只
能辨識其 Save Track 的影像檔!



**************


注意:


IsoBuster 0.99.6 可以正確解讀上面三種格式 Nero 影像檔,而 0.99.7.1 版
只接受 Nero「Disc-At-Once」的格式,也就是檔頭要加 150 sector (307200
bytes),這可能是 IsoBuster 0.99.7.1 的 bug,下一版應該會改進!


**************


特別感謝在實驗其間,a yuan、jess 的協助測試與討論,讓我能夠從與兩位的
差異中分析整理出 Nero 影像檔不同的三種格式!

贊助商連結


simonyang
2001-08-19, 05:34 AM
請問一下...

知道這些資料後....有什麼用途嗎?

KuoJL
2001-08-19, 08:19 AM
無法向下相容..應該是5.5最失敗的一點吧

eddie363
2001-09-22, 11:02 PM
我都用winiso將.nrg直接轉成.iso,還是謝謝您的解析.