電子少年 た~さまの自叙伝・第7回 ~コピープロテクトって面白い!~

時々日記に登場する『自叙伝』シリーズ。私、た~さまの電子工作人間へ至るお話しなのですが、今回は多少脱線します。

https://…/2010/02/23/ 電子少年 た~さまの自叙伝・第1回 ~小学生高学年の出会い~
https://…/2010/09/11/ 電子少年 た~さまの自叙伝・第2回 ~一つ知れば十の疑問~
https://…/2010/09/14/ 電子少年 た~さまの自叙伝・第3回 ~私にでもできるのでは(?)(?)~
https://…/2010/10/19/ 電子少年 た~さまの自叙伝・第4回 ~趣味はマイクロプロセッサ!(?)~
https://…/2010/12/27/ 電子少年 た~さまの自叙伝・第5回 ~ついに動いた!自分設計のワンボードマイコン~
https://…/2011/01/05/ 電子少年 た~さまの自叙伝・第6回 ~高校での友人~

小学生の頃『ファミコン&ファミリーベーシック』(8ビットのおもちゃ)にハマり、中学生の頃は『シャープ X1』(8ビットのパソコン)というパソコンにハマり、ハードウェアにハマり・・・・


ちょっとこの辺りでベクトルを変えて、パソコンとソフトウェアのお話をしてみたいと思います。
愛用していたのは『シャープ製 X1G モデル30』。メインプロセッサは『Z80』、今とは単位が違う動作クロック4MHz! メモリ構成は、メインメモリ64キロバイトグラフィックRAM48キロバイト! そして当時の憧れであった5インチ2Dフロッピーディスクが2台も搭載されているのです。

f:id:vfr750f2:20100224223507j:plain f:id:vfr750f2:20110112232721j:plain
・今も大事に保存してある シャープX1G モデル30(CZ-822CB)とCRT(CU-14GB)  取扱説明書も残っています

当時、マシン語でプログラムを作っていると、64キロバイトなんてどうやって使い切るんだ~と本気で思ったほど広大な空間だったのですが・・・・


そしてフロッピーディスク。
取り扱い説明書にはシツコイぐらいに『フロッピーディスクは壊れて読み出せなくなる恐れがあるので、マスターディスクは必ずコピーして、サブマスターディスクを常用し、マスターディスクは大切に保管しておいてください。』と書かれていたので、マスターディスクは今も安全に持っています!(爆)

f:id:vfr750f2:20110112213029j:plain f:id:vfr750f2:20100228125522j:plain
・取扱説明書のコピー推奨部分 ・今も持っているマスターディスク

この当時、フロッピーディスクも高かった~(泣) マクセル等のブランド品なんて高くて手が届かず、J&Pショップブランドの5インチ2Dフロッピーの10枚パックが特売で\5,000円台で買えるチャンスの時は、自転車漕ぎまくって買いに行ったなぁ~。それぐらい高かった!
だから、サブマスターを作る出費も大変でした・・・・。

f:id:vfr750f2:20110112210050j:plain
・J&Pショップブランドの2Dディスク

そして、一応(?)ゲームも買いました。ズバリ『グロブダー』。戦車で戦うゲームなのですが、友人宅のパソコン『NEC製 PC-6001mk2(←確か(?))』でテープ起動で動いていてそれのオマケで付いていた2人対戦モードが好きでまねっこしたのです。
しかしX1版のグロブダーに対戦モードなんて付いておらず・・・・凹みました。

f:id:vfr750f2:20110112210052j:plain f:id:vfr750f2:20110112210051j:plain
・X1版グロブダー マスターディスク ・懐かしい~ パッケージは捨てましたけどディスクだけ残っています

本体の取扱説明書の教えに習い、グロブダーのマスターディスクもコピーしました。しかしそのコピーしたサブマスターでは立ち上がらないのです!


ナゼだ!!


パソコン付属のコピーツールでは正常にコピーが完了し、コンペア(内容比較のことね。)も完全一致なのに、立ち上がらない・・・・
何度も操作してみましたがダメ・・・・

f:id:vfr750f2:20110112213030j:plain
・本体付属のコピーユーティリティー(の説明書)

ナゼだ!!


私の性格なのか、ゲームなんてどうでもよくて、この『ナゼだ!』の興味が勝ってしまうのです。
色々と調べると、コレがコピープロテクトなる、マスターディスク以外では起動出来ない仕組みであることがわかります。


その後、時間をかけて自力でプログラムを解析(逆アセンブルして追いかけます。)し、マスターかそうでないのか判定しているグロブダーのプログラム自体に改造を施すことでサブマスターでも動き出しました。
世間では『コピーツール(改造パッチの集合体)』みたいのが出回っていて、それを使えば楽なのかもしれませんが、あえてそれらは使わずに自力で解析・回避した達成感、充実感、喜び!のほうが勝っていました。


この、『プロテクトに打ち勝つ』という目標があった為に、ハードウェアの制御をより細かく勉強しようという動きになったのです。
衝撃的な出会いがこの本でした。

f:id:vfr750f2:20110112213031j:plain f:id:vfr750f2:20110112213032j:plain
・祝一平さん著 試験に出るX1 ハードウェアのフルコース ・いろんなハードウェアを詳解しています

なんとも怪しい名前の『試験に出るX1』という本は、X1というパソコンをソフトウェアから制御するために必要な全てが詳細に解説されているのです!(ちょっと大袈裟か(?))


フロッピードライブは、FDC(フロッピーディスクコントローラ)と呼ばれる半導体チップに繋がっているため、フロッピーに読み書きするためには、このチップを手玉に取らなければならない・・・・


そして、技術としてのプロテクトにより一層興味が沸き、パッチをあててチェック処理を無効化するのではなく、フォーマットを正確に再現するタイプのコピーツールも買ってお勉強。(FDCの制約により再現できないフォーマットもあるので、ドライブに外付け部品も必要でした。)

 さすがに、マスターディスクに毎回改造をするほど自信家ではないので、これでサブマスターを作り、その後チェック処理をいろいろ解析・改造する作戦です。
 今みたいにソフトが流通する土台が無いため、結局マスターは自分で買ってこないと存在しないため、不法コピーとかやりようが無い!
f:id:vfr750f2:20110112213034j:plain f:id:vfr750f2:20110112213035j:plain
・NEW TYPE X1 フォーマット再現形コピーツール ・マスターディスク

ニュータイプX1というソフトにはフロッピーフォーマットを詳細に解析する機能が付いていて、プロテクトを掛ける側の人がどんな作戦で来るのかがよ~く解るのです。
いくつかご紹介してみましょう。

名前 内容
オーバーセクタ 1トラックには標準で16セクタを用意するが、予備を切り詰めて17セクタ目以降を配置する。17セクタ目が存在するかチェックする。
オーバートラック フロッピーには標準で76トラックを用意するが、トラック77~80にデータを入れる。この存在をチェックする。
時分秒フォーマット X1ではセクタ番号F5h,F6h,F7hは作成できないことを利用して、他のハードでコレを作成し、マスタにこの番号のセクタが存在していることを確認する。
不安定フォーマット データセクタの特定部分だけフォーマットしていないので、この部分を読み取ると毎回異なるデータとなってしまう。コレをチェックする。
書き継ぎ点フォーマット ディスクは、必ず書き始めの部分があり、ここが不安定となってしまう。意図的に不安定にならないように書き始めたディスクをマスターとして、書き継ぎ点が無いことをチェックする
周波数フォーマット ディスクの特定部分の書き込み周波数を変えて作成しておく。特定のセクタだけ読み込み時間が変わるかチェックする。

前出の"グロブダー"の場合、次のようなカラクリになっていました。

  • 0トラック目にオーバーセクタが施してあり、標準の"1~16"セクタ以外のセクタが忍ばせてある。(オーバーセクタ)
  • 0トラック目には、1~16セクタと、F5hセクタ、F6hセクタ、F7hセクタが作成されていている。(時分秒フォーマット)
  • 0トラック目のF7hセクタの(たしか)先頭4バイトが不安定になっており、毎回読み出すたびにデータが変わる。(不安定フォーマット)

そう、本体付属のコピーユーティリティはセクタ1~16しかコピーしないので、サブマスターにはF5h、F6h、F7hセクタが存在していませんでした。そりゃ~チェック処理でこのセクタが存在するかチェックされれば一発でアウトだわ・・・・。
という具合です。


末期には、フォーマットをするときのクロック信号周波数を高くして、トラック全体のデータ容量を通常では書き込めないぐらい多くしてあったり、隣り合うセクタの書き込み周波数を変えてあるので、読み込みにかかる時間に差が出るという『周波数フォーマット(あるいはウェーブフォーマット)』なる仕掛けがしてあり、それを再現するためにドライブに紙を挟み込んで回転数を落とすことで、実質的に周波数をアップさせる作戦で回避したり・・・・

f:id:vfr750f2:20110112213036j:plain
・コピーツール付属品 スピン・コントロール・ペーパー  ネーミングだけは格好いい!(?)!(?)

とにかく原理とその対処が面白かったのです。


その頃に沸いた、別の本・・・・

f:id:vfr750f2:20110112213033j:plain
・本棚に眠っている"バックアップ活用テクニック"

胡散臭い名前の『バックアップ活用テクニック』。ここで最新のプロテクト事情を知りました。


今思い返せば、こういった数々の幸運な出来事からいろいろ勉強して、全て一つの線に繋がっていったのですね。


つづく。

 ソフトの外装パッケージとかは一昨年の大掃除までは現存していたのに、一気に捨ててしまったんですよね~。どうせなら全部写真撮影しておけばよかったなぁ~
 ついでにオークションにも出してみれば良かった~~~
 このシリーズの日記で登場する出来事はすべて事実なのですが、時系列の検証がいい加減です。その辺りは目をつぶってお楽しみくださいませ。
https://…/2011/02/07/ 電子少年 た~さまの自叙伝番外編#1 ~アセンブラに限界を感じる~