こういう事なのかも…

投稿者名: 
Aqualight
ホストOS: 
N/A
ゲストOS: 
N/A
本文: 

 読者の皆様 こんにちは、こんばんは。 Aqualight です。
今回の投稿は【 CDが読み出せません!】の続きです。
但し、書かれている内容は私が調べた範囲からの仮説とも呼べるもので、これが正解ではないかもしれません。
正解か否かに関わらず、過信なさらないで下さい。

 

ディスクメディアのコピープロテクトの基礎概念

 まず予備知識からです。 これが無いと以降の解説が理解できません。
ご存知の場合は読み飛ばして頂ければ結構です。

 ソフトウェアの違法な利用を防止する方法には2種類あります。

  1. ユーザー登録を強制し、特定ユーザーだけにしか利用させない
  2. ソフトウェア配布メディアを複製不能にする (カジュアルコピー(違法コピー)をさせない)

現在ではネットの発達によって登録ユーザーのマシン以外にはインストール出来なかったり、実行不能になる1のプロテクトが主流です。
しかし、以前は2の「複製不能」という方式が主流でした。

 ここで説明するのは「複製不能」の概念です。
まず以下の「異常フォーマットの概念図」を御覧ください。

異常フォーマットの概念図

 これは円盤型のメディアを1箇所から切り開き帯状に表現した解説図です。
通常、OS側では正常なフォーマットを前提にディスクメディアにアクセスします。
つまり正常なフォーマット以外では読み書き出来ない訳です。

 対する異常なフォーマットではOSから読み書き出来ない範囲にデータを置いてみたり、
セクター長を場所によって変えてみたり、酷い場合には物理メディアの特定位置に傷を付けてみたり…
と、明らかにOSに登録されたフォーマットとは異なるメディアに書き込んであります。

 この「異常なフォーマットのメディア」をOSの機能で通常コピーを行うと、完全に同じ状態を再現できず、
コピー自体が不能になり、これをもって不正コピー防止としていました。

 因みに、この「異常なフォーマットのメディア」をコピーするには、ディスク構造解析機能を持った専用コピーツールを使い、
フォーマット構造を解析しつつ再現します。
当然の事ながら、書き込みにはOSの機能(ファンクション・コール)は使わず、ドライバを直接アクセスして書き込みます。

 前回の DIABLO Ⅱ の例では「識別データ」が読めなかっただけで殆どの部分が正常フォーマットです。
そして GADGET の場合は「ファイル情報ブロック」だけが正常で、「データ・ブロック」がハイブリッドなので、
ファイル名、サイズ、日付だけが読めて「内容が無い」になったと思われます。

 

なぜ VirtualBox は異常フォーマットに弱いのか

 以下の仮想マシン機能構造ブロック概念図を御覧ください。

仮想マシンとホストマシンの機能ブロック概念図

  この図ではOS経由の通常アクセス、ハードウェア直接アクセスで表現しています。

 

 まず DIBLO Ⅱ の場合を考えてみます。
ホスト側で実行する場合、DIABL Ⅱ は通常アプリとして動作します。
この時、オリジナル・メディアであるか否かの識別データはOSから読めない位置に書かれているので普通は読めません。
そこでアプリからメディア確認を行う場合、物理デバイスに直接アクセスし判定を行います。

 仮想マシンで DIABLO Ⅱ を動かすと、上記の物理デバイス直接アクセスが出来ないようで、識別データが読めず、
オリジナル・ディスクであってもコピー品として判断します。

 この事は VirtualBox 仮想マシンは物理デバイスに論理アクセスしか出来ない事を示唆します。
プログラムとしては物理アクセスしているのでしょうが、その命令を受けているのは仮想デバイス・ドライバーであって、
その接続先はホストOSに限定されているので判定が出来ず、ゲームが進行しないのでしょう。

 

 次に GADGET のハイブリッド CD-ROM です。
この例では、ファイル名、サイズ、日付 だけが表示され、肝心の中身が読めません。
通常アプリとしてホストOS上では問題なく読める事から、OSとしては ハイブリッドCD に対応している筈です。

 ところが仮想マシンからでは読めません。
仮想OS自体は ハイブリッドCD に対応している筈なので、読めて良い筈です。
ですが仮想環境ではディスク・アクセスは仮想マシン・インターフェイスを中継して行われます。
この中継が通常フォーマットのみのメディアしか対応していないため、対応する部分だけが読み込めたと思われます。

 

 

 VMware player ではこんな事は起こりません。
という事は、「 VirtualBox の物理メディア・アクセス機能は完全ではない。」という事になります。
またこれは、「コピー・プロテクトされたディスク・メディアは読めない。」という意味でもあります。
だとすれば、「コピー・プロテクトされたメディアの多い過去のゲームは動作しない。」とも言えます。

 この状況はVer4 以降も改善される事は無く、Ver5 にも継承されています。
これを問題視するのはゲーマーだけかもしれませんが、古いソフトウェアはコピープロテクトされた物が多く、
ゲームのみの話ではありません。

ある意味、「オリジナル・メディアがコピー・プロテクトされている全てのアプリが動作しない。」と言えます。
極端な言い方をすれば、「コピー・プロテクトされた市販品は全滅」とも言えます。
悪く言えば VirtualBox のバグ、または欠陥だとも言える訳で、早急に改善されるべき部分かもしれません。

 こういう部分、地味に普及率に影響します。
何とかならないものでしょうか。

 

コメントを追加

Filtered HTML

  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 使用できるHTMLタグ: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br />
  • 行と段落は自動的に折り返されます。

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
スパム投稿防止の為以下のテキストを入力してください
Image CAPTCHA
Enter the characters shown in the image.