2009年03月18日

ゲームプログラマーへの道 その19 ウィルス

ゲームプログラマー回顧録続きです。

そのころのPC(1980年代)はまだハードディスクなんてありませんでした。

皆、フロッピーディスクです。しかも5インチ。

そこに起動からすべてできるようにセットアップします。

Loaderから作るんですね。ある意味OSそのものです。

で、重要なのがコピープロテクト。

その当時、ファイラーというソフトがありまして、これはプロテクトはずしツールです。

これ、我々から見ると、むかつく存在でして。というのもファイラーに対応されてしまうと、いきなり売上げが減るんです。

印税で生活する身には死活問題です。

当時最もはやっていたプロテクトは、フロッピーディスクのある一部分にノンフォーマット領域を作る方法です。

つまり、データを書き込めない領域を作るわけです。

プロテクトチェックはその「書き込めない領域」を読みに行きます。

すると、当然読み出しデータが不安定なわけですね。何回か繰り返し、値が異なって返ってくるわけです。

で、その値が異なれば、「正」同じだったら「複製」と判断するわけです。

というのも、普通PCでフォーマットすると、その特殊領域は作れないのです。だから、これで判断出来ます。

でも、肝心のそのチェックプログラムが書き換えられてしまうと、チェックプログラム自体が動かなくなります。

これがファイラーです。

つまり、誰かがプログラムをダンプし、内容を解析、そのデータを書き換えるプログラムを作ってしまうわけです。

プログラムを暗号化するのは当時当たり前でした。

でも、結局その鍵は同じフロッピーディスクのどこかにあるのです。
なので、時間をかければ解析されてしまいます。

と言うわけで、その当時のゲームは初期ロットでプログラマーの売上げが決まるような時代でした。

しかし、正直頭に来ます。せっかく作ったプログラムなのに不正にコピーされてしまうわけです。
(という自分もコピーしたゲームで遊んでいたのですけど・・・・苦笑)

コピーだったらデータを全部消しちゃったらどうだろう?

いや、いっそのことハードウェアを壊しちゃったら?

実は、データを消すのは数バイトでできてしまうんです。つまりBIOSコールすれば、そんなもん。

ソフトでハードを壊すことも可能です。

フロッピーディスクを異常動作させればいいのです。
そんなのも数バイトでできちゃいます。

でも、「もし正規バージョンが誤動作したら大変だよね・・・」ということで踏みとどまりました。

もしコピーでも、途中まで普通に動き、メンバーの会話で
「おい、どうも様子が変だぞ・・・」というのを語らせる案が出ました。

(これ、やったかどうか記憶に定かではないんですけどね・・・・)


で、後になってよくよく考えてみたら・・・・

フロッピーのデータ消したりするのって、早い話ウィルスです。

そうOSレベルを書き換えちゃえば、そんなの簡単に作れるわけです。

もし、あのとき作っていたら、世界初のウィルスだったかもしれません。

(なんて、不名誉ですけどね)


posted by minoru at 23:19 | Comment(0) | TrackBack(0) | ゲームプログラマー | このブログの読者になる | 更新情報をチェックする

この記事へのコメント

この記事へのトラックバック