大家來討論! 第一炮: 可破SD2的燒錄機 - 第2頁 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 硬 體 及 光 碟 燒 錄 討 論 區 > -- 光 碟 燒 錄 討 論 版


PCZONE 討論區



通知

-- 光 碟 燒 錄 討 論 版 各種燒錄 軟體/硬體(CD-R、CD-RW、DVD ± RW)使用心得分享和各種燒錄技術問題與討論。燒錄器 的疑難雜症、使用心得分享

會員

解釋一下 EFM,摘錄自「第三波資訊股份有限公司」燒錄器的燒錄原理與燒錄流程part 2


電腦上所應用的最小資訊單位,被稱為位元(bit) 。光碟上所應用的最小資訊單位,被稱為通道位元(channel bit)。因為在光碟上,所有的位元都集結在一條單一的螺形資料軌(data track)上,這條資料軌便成了所有位元的通道,所以凡是集結在資料軌上的位元,統稱為通道位元。電腦位元和通道位元最大的差別是在編碼上。一個電腦位元組(byte)由8位元構成。一個光碟通道位元組(channel byte)由14個通道位元構成,這種通道位元組的編碼法叫作Eight to Fourteen Modulation(8對14調變-簡寫EFM)。


在光碟上,代表資料來源的是「平面」(land)與「微坑」(pits)。所謂平面,就是光碟的平坦表面;微坑是在平面上壓的凹陷部分。電腦位元的資料產生是光碟機讀頭上發出的雷射光掃過光碟的平面,產生反光,便在記憶體上記個1,掃過光碟表面上的微坑,產生散光,沒有反光射入,便在記憶體上記個0,這些0與1便是電腦的基本資料位元 (data bits)。


燒錄光碟的時候,燒錄器的燒錄頭上射出的紅色雷射,因為受到了波長的限制,所以連續的平面,或是連續的微坑,最長不能多於11個,最短不能少於3個。在這種情況下,用電腦位元組的編碼法,一個位元組等於8位元,用在通道位元的編碼上,無法整合;於是發明了EFM技術。採用EFM技術編碼的通道位元資料儲存方式,和電腦位元的資料儲存方式完全不同。


EFM技術的資料記錄法是在光碟上的兩個連續「平面」,或兩個連續「微坑」,都儲存為「0」。「平面」變換為「微坑」,或「微坑」變換為「平面」,都儲存為「1」。用14個通道位元為一位元組,為了避免有小於3,或大於11的矛盾數目出現,每兩個通道位元組之間,用3個通道位元作為隔間通道位元 (Merge channel bits),因此,實際上光碟資料位元組,是由17個通道位元構成。燒錄器燒錄資料的時候,採用8 to 14 modulation技術,以通道位元組燒入資料。由光碟機(CD-ROM drives)讀入資料到電腦的時候,再採用14 to 8 modulation技術,轉換為電腦位元組,電腦便可以儲存、處理、輸出結果。



回覆
會員

jess 板主意譯的那一篇應該蠻完整的,原文似乎是這一篇,出處我不曉得


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


The truth about SafeDisc2...
Where's the problem?


First, let me explain why it is so difficult to make a fully working backup of a SafeDisc2-protected CD...


On CDs protected with "normal" SafeDisc, you have an area of about 10000 sectors where there are always unreadable sectors followed by some readable and so on. This grouping changes from CD to CD and is it's typical SafeDisc fingerprint that is checked by the protection-code inside the executable. This fingerprint can simply be re-produced by writing the image in RAW mode.
SafeDisc2 now also has such an area but also some groups of so-called "weak" sectors. Why are they called "weak"? Well, it seems that these sectors can the read without problems form the original CD, but when trying to read them again from a copy they suddenly seem to be damaged and sometimes can only be read with the second or third attempt - and sometimes not at all! How can this be??
To understand this, you must know that all data is "scrambled" before it is written. Scrambling in this case means that every byte is XOR'ed with a certain value that changes from byte to byte. This is done to prevent so-called "uniform bit-patterns". But if you scramble such a weak sector, exactly that case occurs that should be prevented: You get an uniform bit-pattern like this one: 0x58, 0x59, 0x58, 0x59, ...
So why are these uniform patterns a problem? For some technical reason which would take too long to explain here, all bytes are encoded into 14 bit each right before they are sent through the laser and burned on CD. This encoder is called "EFM encoder". This EFM-encoder may (although it shouldn't if it has been implemented error-free) have problems with uniform bit-patterns that may result in damaged data.
It seems that the writers of certain manufacturers have big problems with this. The burned weak sectors can only be read in the burner itself or not at all...


What's the conclusion of this?


First thought is, that this is a real hardware problem. Yep, sounds quite logical... but only quite!
If it really would be a hardware-problem, why can these sectors then be read in the burner? If the EFM-encoder would have messed the data, you won't be able to read this sector with any drive - including the writer itself.
Also there's something very strange regarding the firmware releases and the approach of SafeDisc2: It seems that this "bug" has been implemented with full intense in newer firmware-releases of some major CDR manufacturers! Affected by this are as far as I know Plextor, Sony and Teac. There seems to be an unholy "marriage" between Macrovision (the developers of SafeDisc2) and these manufacturers...
How I can prove this claim? Well, I did some tests here with my Plexwriter 1210TA: I downgraded the firmware to version 1.01 (which I luckily kept on my HD) and suddenly the writer was able to re-produce these weak sectors like a charm!
Not enough proof? Ok, here we go: I tested with various firmware releases for this writer and figured out, that firmware revision 1.04 seems to be the last "good" release. What a chance that Plextor has removed all revisions below 1.05 from their web page...
And another proof: Newer revisions of this writer (recognizable by a TLA number other than 0000) have been protected against such a firmware downgrade. You won't be able to flash a revision lower than 1.05 to the internal eeprom...
Somebody now discovered that the old firmware revisions still seem to exist on Plextor's servers. But somehow the file-size has changed. When a normal firmware-update package had about 530 kb, these packages only have about 440kb now... is this pure chance or did the guys from Plextor remove/change some stuff in these old revisions? Strange, strange...


So what can we do against this?


Try to get an "original" firmware-package rather from somebody who has stored all old revisions somewhere than from the manufacturers website and flash it to your drive. If you're lucky and the downgrade works you may be able to copy SafeDisc2 now without problems...
But also if this works this can only be an intermediate solution! It can't be the golden way that the user has to downgrade his firmware to a lower revision that may contain serious bugs and eventually has less functionality!
Let's show companies like Plextor that they can't treat us like that! Write them email about what you think about this and tell them that this would be the last drive you have purchased from them if they don't change their manners...
回覆
會員

雖然不應該插嘴,但還是忍不住敬佩,好詳盡的解說阿
回覆
tne
會員

嗯~雖然沒有解答我的疑惑,卻又讓我得到新的知識了....^^
不過那個3~11的規定,是燒錄器才有的規定,還是所有光碟都如此?
我的感覺應該是所有光碟都是如此~不過如果這是燒錄才有的規定,
那一切就真相大白了,兇手就是你......
但是,Correct EFM Encoding of Regular Bit Patterns為何可以
解決這個問題,又令人想不透了.....
那篇原文的文章老實說真不錯,不過他其實沒有說的很晚整,因為:
For some technical reason which would take too long to explain here
相信那些所謂to long to explain (太長了所以不解釋) 的東西,就是我
想知道的東西.....
還有,文中真的有「scrambled」啊(攪拌?),我覺得這也是滿重要的東西,
不過版主沒有翻譯出來...
回覆
YSL
會員

感謝各位提出這麼多資料性的東西。
我想,對YSL來說,這都是半年前的回憶,提出來討論,又有了些不同的激盪。
尤其是Scorpion兄所PO上來的這兩篇,一篇是已經看過的原文,另一篇則是增長知識的,
非常感謝您,當然也感謝jess版主,提供這麼多資訊與解答,可以的話,此篇應該列入精華區才是,也方便大家尋找有關SD2的資料,不知道如此會否太過冒然?不過可能的話,標題要改變一下,因為大家討論的已經不是燒錄機的範圍了,而是相當理論上的東西。

然而,我當然也想知道Correct EFM Encoding of Regular Bit Patterns的原理,他到底是如何運作?或者在理論上是如何達到正確調正編碼的?
另外,也提個笨問題,光碟機在讀取資料與複製資料時,它們所用的讀取模式是否一樣?我想應該是不太相同的,因為資料搜尋定位與整個資料的複製應該不盡相同,這是我個人對暗黑二防拷類型的疑問,雖然已經成功燒錄,不過還是有些疑問;如果防拷本身的Subcode channel,廠商所做成的防拷是一般光碟機都能讀取的{某些特定資料}而代表片子本身通過偵測,那麼,當我們原原本本地全部複製,在光碟機上的運作模式,我想那應該是不相同的。也因為在讀取與複製上,光碟機的操作模式是不同的,所以在複製上才有所謂支不支援Subcode channel的問題,而讀取上,可能光碟機只要能讀取某些指令就算通過。不然,如果光碟機不支援Subcode channel的讀取呢?那麼豈不是要放棄此款遊戲,並且以後買遊戲時都要問,我的光碟機不支援Subcode channel的讀取,請問可以玩嗎?當然,這只是我個人的猜測與疑問,如果您覺得我的推論不合理,不合邏輯,大可裝做沒看到此篇,因為我一直覺得,光碟機在讀取資料與備份資料是不一樣的讀取模式,如同遊戲修改大師6.0版,或黑金企業二,或新絕代雙驕二,他們的防拷都是一樣的,做一個同心圓的圈圈的斷軌,阻隔了我們備份資料,但卻未聽說有光碟機讀不出資料的,然而,暗黑二的防拷,如果以同理可證來說明,卻又太過籠統,不合實際,不過如果純粹以光碟機的資料讀取和複製讀取,可能說得過去。

這只是個人隨意亂猜測,當然也需要有人指點指點啦!拷出東西是相當簡單的,理論上的,有時也需要一些大膽的假設與求證......
回覆
板 主

1.先感謝tne兄弟的指正(我的原來的意譯沒太大問題,倒是後來的說法出了問題<--已修正。主要是我被"Correct"這個字是形容詞或動詞的問題所惑,看起來應是當動詞較正確<--覺得還是有點怪)及深入的研究精神。那篇原文是網友薔薇之劍貼在雲楣棧的,不過好友playsing說以前在異次元看過。不過"Scramble"這個字眼也不是那麼重要,畢竟你無法從它得知正確的編碼做法。
2.雨生兄,前一些日子怎麼樣都進不了你的站,很高興現在沒問題了。兄提的問題也一直困擾我許久。看來光碟機讀取與備份不同是一個較合理的解釋。也就是說一些所謂不支援subcode讀取的光碟機,實際上它還是能讀到subcode的資料,但在備份時,這類光碟機沒有支援把這部份資料儲存的模式。
3.等再多的一點討論後,我會將它加入到精華區。
回覆
tne
會員

關於sub的部分,我想大部分PC的光碟機都有讀取sub的能力吧....
至少我覺得PQ Channel一定得讀得到才合理。
至於支援sub燒錄的問題,我覺得跟RAW是一樣的意思。
我之前的講法有點問題,應該不能說有燒錄機不能寫入sub-channel,
而是不允許我們指定sub-channel的內容。
以一般的燒錄模式來說,我們只可以指定資料的內容,資了相關的
同步碼以及偵錯碼是由由燒錄機產生的,他的好處就是程式不必去
計算偵錯碼這些麻煩的東西,但相對的我們就無法改寫這些地方,
因此有些保護就無法複製(所以才有RAW Mode)。
我想支援sub-channel燒錄也是同樣的意思,因為一般sub-channel都
是空的或放一些標準控制碼,所以燒錄機就很「體貼」的幫我們自動
產生這些標準的sub-channel資料。但是當有遊戲在這邊放一些特別
的資料,因為我門無法指定把這些特別的資料寫進去,就無法達成
複製sub-channel的目的。
讀取與寫入的模式是不同的,這話說得好。
我覺得就現在所能看到的Mode,只是高低階的差別而已。對硬體來說,
他應該都可以讀取或是寫入,但是不同的Mode下我們可以要求的能力就
不同。就像讀取來說,對normal user,給予檔名與位置,只要能讀到檔
案內容就好了,這是高階的處理,但稍微低階的,我們可能會要求要讀取
哪個sector的資料,更甚者到了RAW Mode,我們可以讀到資料相關的偵錯碼
等等,這就非常低階了。從軟體保護的立場來看,通常能夠挖掘到越低階
的硬體控制,就擁有越強的保護能力。所以一但參雜軟體保護,就往往會
看到讀取與寫入是在完全不同的階層下運作。
回到SD2吧...(講太多了說...~_~)
其實後來我也發現,研究Regular Bit Pattern時,那個Scramble的確是可以
跳過去先不研究,因為結論是在Scramble之後的東西。不過.....因為當初沒
有注意到Scramble,我花了好多時間去比對image檔想要找Regular Bit Pattern
,現在覺得自己跟白痴一樣.....~_~""
by the way...
我總覺得Regular Bit Pattern的問題,應該是在EFM編碼完成之後有關,而非編碼
本身有問題,因為就我現在所知道的,EFM編碼應該是很簡單的查表而已,沒有
什麼道理會弄錯。然而前面文章給我的感覺是︰「燒錄機在EFM編碼上存在bug
,而Correct EFM Encoding of Regular Bit Pattern修正了這個bug...」
老實說,我不太能接收這樣的說法。
我猜測如果能找到Regular Bit Patternt產生的EFM編碼,應該可以尋得蛛絲馬跡
所以我才想找找哪裡有EFM的編碼表.....
對了,我也覺得correct應該當動詞用...
回覆
會員

引用:
最初由 tne
關於sub的部分,我想大部分PC的光碟機都有讀取sub的能力吧....
至少我覺得PQ Channel一定得讀得到才合理。
PQ Channel 是應該讀得到,請看 Goldentime's 光碟燒錄資訊站 的兩篇文章
http://www.ora.nsysu.edu.tw/~goldentime/cdterm14.htm
http://www.ora.nsysu.edu.tw/~goldentime/faq02.htm
引用:
以一般的燒錄模式來說,我們只可以指定資料的內容,資了相關的
同步碼以及偵錯碼是由由燒錄機產生的,他的好處就是程式不必去
計算偵錯碼這些麻煩的東西,但相對的我們就無法改寫這些地方,
因此有些保護就無法複製(所以才有RAW Mode)。
至於 User Data 以外的 sync、header、EDC、ECC 等等資料,我認為是由軟體
自動產生的,燒錄機負責的是 EFM 部份,不然燒錄機太累了


我的理由是,可以用 CDmage、CD Image Converter 等工具程式將光碟影像檔在
2048、2352 模式之間互轉,2352 --> 2048 很簡單,把非資料部份濾掉即可,而
2048 --> 2352 很明顯感受到轉換速度較慢,並且轉換之後的影像檔與以 RAW mode
抓取的影像檔比對完全相同!
回覆
板 主

謝謝Scorpion兄提供的資訊。ECC的確應該是軟體算出來的(燒錄軟體或像CDmage、Isobuster等轉換軟體),它就像CRC等檢查碼一般。SD/SD2上的壞軌應是在它們的ECC(2352-2048=304bytes處)故意被入和原本資料(2048bytes)不一致的檢查碼,以致一般光碟機讀到此處,一檢查不對,就讀不下去了。不過,還是有些問題,照理以Raw Mode讀取,就是不去做檢查 (簡單的數學運算),那何以有的讀的快(Toshiba的DVD及Sony的140S、145S、Plextor 32x燒錄機、有的讀的還是很慢(如Plextor的PXW2410A或Liteon LTR 24102B配上CloneCD),這似乎與Raw Mode讀取的精神不完全吻和。一說是DVD、SCSI光碟機/燒錄機讀取資料的方式有別於一般IDE光碟機/燒錄機。有些讀映像檔軟體(如Discdump)卻可以快速讀取(它針對不同防拷有置入特別的程式碼)。另一方面,把一個SD/SD2的防拷映像檔檔放在虛擬光碟中(主要是Daemon),再用CloneCD讀出映像檔時,就非常快速。這樣看來,即使同樣使用Raw-Mode讀取,不同的讀取機器及讀取軟體(可加入特別的碼指導快讀或不做檢查)似乎都有扮演一定的角色。希望有興趣的朋友一起加入討論,讓這些問題能早日澄清。

ps:關於"Correct EFM Coding of Regular Bit Patterns",就文法及習慣上來說,correct應當做形容詞的"正確的"來解釋。當動詞"修正"來解釋時,句子應是 "Correct the EFM Coding of Regular Bit Patterns"。老實說,對用作動詞"修正"來解,我還是非常不習慣。
回覆
tne
會員

關於ECC與EDC碼是由軟體產生的說法,我有一點懷疑。
懷疑的理由很簡單,如果這些東西在燒錄是由軟體產生,
那燒錄機就不需要什麼RAW的功能了。
不然就是我對RAW的認知有誤解~~那還請指正。
至於CDmage等軟體我雖然沒用過,但一個軟體可以把2048
的影像檔轉為2352,並且與RAW Read的Image檔相同,只是
代表該軟體沒有bug,這應該不是有力的證明。
我想Scorpion兄的意思是,軟體可以算出ECC和EDC碼,所以
這部分是不需要硬體去處理的。但是,任何硬體可以算出來
的資料,軟體一定也可以算,這一點都不奇怪,之間差別只
在於成本與時間而已。如果ECC與EDC的計算不需要很高的硬
體成本,這種事情交給硬體代勞應該是很合理的。
至於版主的問題︰
如果用填入錯誤的ECC或EDC來建立壞軌,這叫「邏輯壞軌」
,但我想SD壓根不是什麼邏輯壞的,他就是單純在硬體上
給弄壞了。要製作SD保護的光碟,必須在Macrovision認證
的壓片工廠,我猜測就是因為這些壓片廠有製作壞軌的能力,
事實上大家可以參考賴以立老師的「破壞軌保護與應用」,
裡面還有指導大家怎麼樣在普通的壓片廠或是燒錄片上製作
實體的壞軌,不過不是很輕鬆就對了~~~
另外Goldentime's 光碟燒錄資訊站也有教用膠帶燒壞軌的方法...
所以用RAW去讀這些壞軌在不同光碟機速度不同,應該是很正常
的現象,因為光碟實體壞掉的話用啥模式去讀都是壞的,而每台
光碟對於錯誤讀取的處理的方法不同,有的可能會多讀個幾次才
放棄,有的則馬上傳回錯誤,速度自然不同。
而讀取虛擬光碟會很快也很正常,虛擬出來的光碟當然不會是實體
壞掉,而是邏輯壞的,所以用RAW讀就很快啦。
對了,使用clone去燒這些用「實體壞軌」保護的光碟,會燒出有
「邏輯壞軌」的片子(燒錄機現階段還沒有可以把片子燒爛的模式
...~_~)。用這個燒出來的片子再去複製,讀取的速度應該就會變
很快了,我沒試過,但應該沒錯吧?
再來是Correct EFM Coding of Regular Bit Patterns.....
原來是冠詞的問題啊,我英文菜菜的所以不能提啥意見...
我覺得是動詞,是因為我覺得這是一個在EFM編碼之後的修正動作,
如果當形容詞解釋,也就是「具有正確的EFM編碼」,
意思好像是EFM那個8-14的對應表是錯的?﹗
這種感覺好像是大數學家不會99乘法一樣.....
其實,對於SD2技術我很早有結論了,但是一直缺乏證據,也就是沒有
關於EFM的編碼詳細資料可以計算,所以不敢說出來。不過我今天跟
我的老師討論到這個問題時,他還滿贊同我的看法。這幾天我會試著
作一份比較完整的「SD2研究報告」,然後大家再看看對於我的看法
有什麼意見。



回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
台中群健有線上網的問題 大家來討論 mrcwk -- Cable Modem 心 得 交 流 版 3 2003-08-16 10:25 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。