Alpha-ROMに関する基礎知識
その1 登場と解析
韓国のセテック社(http://www.settec.net/jp/)が開発しバックアップ&クラックは事実上不可能との極めて強気の売り込みで登場したのがAlpha-ROMプロテクトでした。
日本での初採用はNEXTONの『ONE〜輝く季節へ〜 Full Voice Ver.』(2003年1月24日発売)です。
Alpha-ROMの構造についてはその売り込みの強気さに反して早くも日本上陸後すぐにCD Manipulatorの公式サイトの雑談掲示板で有志とCD Manipulatorの製作者である「ご〜るど」氏によって、2重化されたセクタと欠落セクタによって構成されている事が看破されています。
*実際にご〜るど氏によってAlpha-ROM対応CD Manipulatorのβ版が一部に配布されバックアップに成功した人もいました。
その後、Alpha-ROMのバージョンアップに伴い欠落セクタはすぐに姿を消し2重化セクタのみが残りました。
つまり現在では2重化セクタを再現できればAlpha-ROMをバックアップできるという事になります。
その2 2重化セクタの構造
それでは2重化セクタとはいかなる物なのでしょうか?各所でまとめられた情報を元に整理します。
CDやHDDではセクタという単位でデータを扱います。
CDを本に例えるならTOCは目次、セクタはページ、セクタ内にあるデータは文章や写真など、そしてセクタ番号はページ数に該当します。
当然CD-ROMのセクタごとにそれぞれ番号が順番に割り振られています。具体的には…
1、2、3、4、5、6、7…
と言った感じです。
これが2重化セクタの場合は…
1、2、3、4、5、3、4、5、6、7…
となります。この例の場合は3・4・5セクタが2重化されています。(先ほどの本の例えで言うなら同じページ数のページが複数存在することになります。)
通常CD-ROMドライブはCDをバックアップする際にはライティングソフトからのコマンドを受けてセクタを順番に読んでいきます。
そのため、2重化セクタの後ろ側の方(3、4、5)は読まれること無く飛ばされていきます。
(5セクタを読んだ後、当然ドライブは3セクタを読みますがこれを読み間違いとして6セクタを探してしまう事になります。)
これでは2重化セクタには何の意味もありません。ここでCDを逆読みさせるます…すると
…7、6、5、4、3、5、4、3、2、1
3、4、5の方が先となり今度は3、4、5の方が後ろ側となるため読み飛ばされるようになります。
この時に3、4、5と3、4、5のセクタにはそれぞれ異なるデータを入れておく事で、順読みした場合と逆読みした場合で読み出されるデータが異なるようにします。通常CDをバックアップする場合、ライティングソフトはドライブに対してセクタを順番に前から読み出していくことを要求しますから2重化セクタを正しく読み出す事はできず2重化セクタは再現できず。
1、2、3、4、5、6、7…
と言った状況のCDが出来あがることになります。
これによって順読みと逆読みで違うデータが得られるかどうかでマスターであるかどうかのチェックを行います。
その3 Alpha-ROM Ver1.0、1.1、1.2の違い(*この名称は便宜上のものです)
・Alpha-ROM Ver1.0
『ONE〜輝く季節へ〜 Full Voice Ver.』で採用された最初のバージョン。
複数の2重化セクタとその後に配置された欠落セクタが特徴。
・Alpha-ROM Ver1.1
Alpha-ROM Ver1.0の誤爆が酷かったために登場した改良版。
2000セクタ分の全不一致型2重化セクタのみで欠落セクタは存在しない。
・Alpha-ROM Ver1.2
Alpha-ROM Ver1.1がバックアップされてしまうことを受けて登場した再改良版。
『夏色☆こみゅにけ〜しょん♪(Disc2)』から採用。
2000セクタ分の一部不一致型(2セクタ分だけ不一致となる)2重化セクタが特徴。(欠落セクタは存在しない)
*全不一致型と一部不一致型(*この名称も勝手につけた便宜上のものです)
全不一致型は2重化されたセクタの前の部分と後ろの部分に入っているデータが全て違う物です。具体的には…
「3(a)、4(a)、5(a)、3(b)、4(b)、5(b)」といった感じです。
注:数字がセクタ番号()内がセクタの内容と考えて下さい。
ところが、一部不一致型の場合は2重化されたセクタの前の部分と後ろの部分に入っているデータが大部分は同じで一部違うという物です。具体的には…
「3(a)、4(a)、5(a)、3(a)、4(b)、5(a)」といった感じです。
これにより、それまでのバックアップの方式(順読みと逆読みを比較してデータが不一致だった部分を2重化する)でバックアップすると…。
「3(a)、4(a)、5(a)、4(b)」
といった状態となり2重化された部分が極度に狭い状態となってしまいます。
これをチェックして弾くという方式で従来の方法ではバックアップできないようにしたのです。
その4 Alpha-ROMに関するその他のお話
・低くは無かった誤爆率(*公式サイトには特に誤爆率が低いという記載はありませんが…)
ONE〜輝く季節へ〜 Full Voice Ver.はかなりの誤爆被害をもたらしたようです。
特に国内メーカー製PCに採用される事もある松下、Pioneer製ドライブとの相性の悪さが目立つようです。他にも有名国内メーカーのドライブで誤爆することがあったようです。
NEXTONの対応
誤爆の実例
*なおバージョンアップによって誤爆率は下がってきているようです。
・原理はFD時代に(公式サイトではまるで目新しい物のように宣伝していますが…)
もともと2重化セクタプロテクトはFD時代からの物で目新しい物ではなく、さらにCDに2重化セクタを利用したプロテクトを採用したのはTAGESが先駆けでAlpha-ROMは二番煎じにしか過ぎません。
・近日中にさらに改良を加えた新バージョン(俗称:Ver2.0)が登場との噂も…
Alpha-ROM Ver1.2も登場後すぐに構造を看破されてしまい、あっさりバックアップされてまうという状況を受けて、さらに進化させた物を投入するとの情報が流れています。はたしてどーなるんでしょうか?
せっかく更新してもすぐに更新しなおさなきゃならなそうですぅ。(ノД`、)トホホホ