ホームページ目次1995年前の話次の話

いいかげんなプロテクト

1995年11月28日

私も昔々は、プログラムなるものを書いては、販売などもしていたものであっ た。マイコン黎明期のころは、普通のカセットテープにプログラムをビーヒャラ ビーヒャラという非常に低密度な録音をしていた。本当の初期には、110ボー とかであり、300ボーは高速であった。

私がBASICというものを勉強し、インタープリターっちゅうものは遅くて かなわん。CPUの性能が全然出ていないじゃないか、ということで、コンパイ ラを試しに作ってみたことがある。

一番最初に作ったBASICコンパイラは、TK−80BSという、まあとん でもなくチャチなものの上で動いた。TK−80BSの上でコンパイラが動くと いっても、なかなか世の者どもは信用しなかった。当時4社ほどマイコン雑誌を 出していた出版社があったのだが、信用して返事をよこしたのは工学社だけであ った。それをまとめたのが、 コンピュータ・ファン No.1TK-80 高速BASIC である。

他社の反応が知りたいであろう。ずーーーーと経ってから葉書をよこしたの がASCIIである。どうしてアスキーが葉書をよこしたかというと、石田晴 久氏の書いた『マイクロコンピュータ プログラミング入門 ---Tiny BAISC イ ンタープリタ---』(近代科学社)のバグを私が一杯指摘したからに違いない。そ の他は「なしのつぶて」であった。

まあ、これは、雑誌で発表しただけである。この当時には、マイコンやパソ コンのソフトウェアを販売するという制度も何も無かったのである。

それからしばらくたって、また、BASICコンパイラを作ることになった。 こんどはちゃんと商売として、つまり会社の仕事としてすることになった。対 象としたのは、NECのPC−6001という、8ビットマシンである。コン パイラは、32KビットのROMを2個で作ることになった、というより、そ れだけしかROMをセットできないのである。

この製品はEXASシリーズという名前で、非常に売れた。作った本人も、 パッケージを作った人(現在、東京インターネットで「デザイン」をしている) も予想以上であった。まあ、出せば、数千本は売れると思っていたのだが、数 万本も売れてしまったものだから、秋葉原でROMを買い尽くし、最後にはイ ンテルなどの不良率の高いのまで使わざるを得なくなった。

この製品には、たいしたプロテクトは掛けていなかった。すると、暫く経っ てから、大阪の日本橋あたりで、海賊版を売っているという連絡を受けた。海 賊退治をすべきか、あるいは静観するかがあったのだが、なにしろ忙しくて、 ドロボウの相手をする暇もないままになってしまった。

で、次に、また「柳の下の鯲」をねらって、BASICコンパイラを出した のだ。今度は、富士通のFM−7である。この当時は、まだフロッピィードラ イブが高価で、一般の人の手には入らなかったので、またまたROMで出した。

こんどは、一応プロテクトを掛けることにした。まあ、ROM基板であるか ら、だれでもが簡単にコピー出来る訳ではないし、ということもあるし、プロ テクトに頑張りすぎて、コンパイラの方がいい加減になってもいけない、とい う訳で、簡単なプロテクトを掛けた。

プロテクトを外した場合には、画面にコピーライトがじゃんじゃか出るよう にして、暴走させてしまうことにした。といっても、複雑なプロテクトではな いので、ちゃーんと外すやつが現れた。

で、次は、コンパイラではなく、他の、少なくとも発売当時としては非常に ハイテクなプログラムを売り出すときにプロテクトを、懲りずに掛けた。しか し、私も、何度も破られたので、ちょっと考えた。普通でないプロテクトを掛 けようと思ったのである。今度は時代も下ってフロッピィーディスクである。

それで、簡単な仕掛けで実現はできた。発売して、暫くしてから、明らかに コピーして使っていると思われる客(ドロボー)から、「うまく動かない」と いうクレームが営業に掛かって来た。

営業の方で、ID番号とか、連絡先を聞いて対応しようとしたのだが、対応 しきれないので対応して欲しいということで電話を受けた。電話で話している うちに、相手がしどろもどろになり、がちゃんと電話を切ってしまった。コピ ーして使っていることがばれてしまったので、切った訳である。

どうしてそうなったかを話さねば、まるで分かるまい。つまり、このときに 掛けたプロテクトにちょいと細工というかがしてあったのである。絶対にコピー できないようなプロテクトを必死で考えるのを私は止めたのである。逆に、簡 単な、一般によく行われているよりもさらに簡単なプロテクトにして、DOS のコピーコマンドでコピーした場合にはエラーになるが、その後、実行してみ ると、ちゃんと動くような安直なプロテクトにしたのである。

コピーする奴は、コピー直後に、簡単に動作チェックをする筈である。この 動作チェックには一応パスするように、つまり、あるていどの操作のあいだは、 プロテクト破りをしたことを感知していても、ちゃんと動作してしまうように 作ったのである。だから、ドロボーは、

「うまくコピーできたわい。シメシメ」

と思って安心したであろう。こっちは、そう仕向けたのである。こちらが、 いかに馬鹿なプロテクトを掛けているかに呆れさせることが重要なのである。

それで、本格的に使おうとすると、時々おかしな動作をするようにしておい た。変な動作をすると、プログラムを止めて、確認のために単純なテストを行 うだろう。で、そのときは、また動くのである。で、半信半疑ながら、また本 格的なことをやろうとすると、また変になるのである。

要するに、乱数を使って、変な動作をさせたり、普通に動かしたりという、 実に「いいかげん」に動くようにしていたのである。すると、これは「バグ」 だ、ということで電話して来て、こっちの思う壷にはまるのである。

これを作る上で苦心したのは、どの程度までちゃんと動いて、どの程度から 嘘の動作をするようにするかの塩梅であった。

それに、もうひとつ困ったことは、営業がこの罠にはまって、技術にまで電 話を回してきてしまったことである。ほんとうに、

罠の掛け方は難しい


ホームページ目次1995年前の話次の話