このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

FDの宿命

 FDの時代に突入すると、プロテクトをはずす側とつける側のいたちごっこが本格的に始まった。よって、FDのプロテクト技術の歴史を知ることはプロテクトの基本を学ぶことに繋がる。

 FDやHDはハードウェアそのものの中で「READ」(読み込み)と「WRITE」(書き込み)の機能が隣り合うように設計されている。そして、それに合わせるようにOS内部のデバイスドライブ部分で読み込みと書き込み機能が隣りあわせで用意されている。

 一方、CD-Rドライブは元々CD-ROMドライブという読み込みだけの装置に書き込み機能を追加したものといえる。よってハードウェアとして読み込みと書き込みの機能が隣り合っていないので、別個となっている。

 ゆえに、FDやHDはエディタなどで直接開いたり書き込んだりできるが、CD-Rは書き込む場合別途にライティングソフトウェアを用意して、書き込むための特別命令が必要になるわけだ。ちなみに、CD-Rに対する書き込みはBURNになる。

 FDが読み込み・書き込みが簡単にできるのは、この2つの操作がハードウェア、ソフトウェア共に1対1に対応しているので、同じ場所を読んで、同じ場所に書き込むということを可能にしているからである。この特徴はディスクを丸ごとコピーするのが簡単であるといことを示唆している。そもそも、FDはコストを押さえながら、手軽にアクセスできるように作られたメディアだからである。

FDプロテクトの基本原則

 FDプロテクトには次の2段構えで構成されているという基本原則がある。

  1. 業務用のドライブでしか書き込めない特殊なデータ(プロテクトセクタ)をFDに書き込む。
  2. プログラムの中でそのデータ(プロテクトチェックルーチン)の存在をチェックする。

 プロテクトセクタとプロテクトチェックルーチン両方が存在して意味があるのであって、片方では意味がない。

 セクタは領域や区画を意味しており、個々の特殊なデータはセクタの中に存在する。しかし、実際にはプロテクトチェックを行う際に、ドライブの読み込みの最小単位がセクタであるため、プロテクトセクタと呼ばれる。

 現在、CD-ROMなどで利用されているプロテクトの多くは、これらの派生に過ぎない。例えば、あるプロテクトセクタを1つ用意して、それをチェックするためのチェックルーチンを微妙に変えて3つ用意されば、合計3(=1×3)種類のプロテクトがあるといえる。そしてプロテクトセクタを4つ用意して、それをチェックするためのチェックルーチンが5つ用意すれば、合計20種類のプロテクトができあがる。

チェックルーチンの動作

 業務用ドライブではエラーの発生するセクタ(プロテクトセクタ)を意図的に書き込むことができる。FDから読み出されたデータをチェックルーチンでチェックして、全部一致すればオリジナルと判定される。 

 それに対して、民生用ドライブではプロテクトセクタを再現できない。よって、プロテクトセクタをうまくコピーできない。ということは元々プロテクトセクタがあったセクタは正常なセクタとなっている。これを読み出して、チェックルーチンでチェックすると、プロテクトセクタがうまくコピーできないので全部一致しない。よって、コピー品だと判定される。

FDのプロテクトの解除方法

業務用ドライブを用意する

 プロテクトセクタとチェックルーチンによるプロテクトを回避する方法が分かるはずだ。コピー品を作る場合は業務用ドライブを利用してコピーすればよい。そうすれば、うまくプロテクトセクタもコピーできるからである。

 

チェックルーチンを書き換える

 チェックルーチンでは次のように判断している。

  • フォーマットエラーが発生する→オリジナル
  • フォーマットエラーが発生しない→コピー

 このチェックルーチン部分を書き換えて、次のようにしてしまう。

  • フォーマットエラーが発生する→コピー
  • フォーマットエラーが発生しない→オリジナル

 こうすれば、コピー品がオリジナル、オリジナル品がコピー品だと判断される。こうすれば、コピー品を起動できるわけである。

 書き換え作業自体は簡単だが、どこを書き換えたらよいのかを調べるにはそれなりのスキルが必要である。

コピーツールを使う

 スキルのない人でも間単にコピーを実現するソフトウェアとして、コピーツールが誕生した。様々なコピーツールがあり、これらは「バックアップツール」や「デュプリケータ」という呼び名で売られていた。具体的な製品名で言えば、PC88用のソフトウェアをコピーする「ウィザード88」などがあった。 

 コピーツールはパラメータ型とフォーマット再現型などがある。これを次に表でまとめておく。

  • パラメータ型コピーツール
    • プロテクトチェックルーチンを破るためのツール。
    • プロテクトセクタの場所やチェックルーチンの書き換え方法を、新作ソフトが発売されるごとにコピーツールメーカーが解析して、ソフト別に解析パラメータを用意していた。
    • これらのツールはコピー用途だけでなく、ゲーム改造もできたので、ゲーム好きにとって御用達だったかもしれない。
  • フォーマット再現型コピーツール
    • これは本来は業務用ドライブでしか書き込むことができないはずの情報をフォーマットして、民生用ドライブとある種のハードウェアを使って擬似的に再現しようとするタイプである。ディスク内のソフト自体を書き換えるわけではない。
    • この種のツール・製品は外部フロッピー端子やI/Oスロットなどに特殊なハードウェアを装着するという構成である。
    • 特殊なハードウェアを取り付けても所詮民生用ドライブなので限界がある。各ソフトウェアメーカーは対抗手段として、これらのツールで再現できないような特殊フォーマットを次々開発された。
    • フォーマット再現型コピーツールのユーザーはパラメータ型コピーツールよりソフトウェアをコピーするという行為では不利であったが、フォーマット再現型コピーツールにはディスクアナライザやディスクエディタや逆アセンブラが内蔵したものもあった。これらを駆使すればオリジナルのプロテクトを作成することも可能だったという意味で、こちら側のユーザーのほうが勉強になったかもしれない。ハードウェアを使うので値段も張るが・・・(パラメータ型コピーツールの方は、コピーツール自体がコピーで出回っていたりしたので、そちら側のユーザーはあまり懐が痛まない)。

参考文献

  • 『プロテクト技術解剖学』