自動運転のプログラム
必要な物はなんでも揃えてくれるということなので、実験用の自動車をお願いした。
それに対して、様々な通信を行なっていく。
管理者権限を得るためにセキュリティホールを探さなくてはならないからな。
「それでは、トールさん、今日はいったん帰りましょうか?」
とぼんやりユリが聞いてくる。
「うん?今週末までになんとかすると約束してしまったんだから、俺は泊まりこむぞ。」
「そうですか……それじゃあ私も泊まりこむかなあ……私はあっちで休んでいますから、必要な物があったら準備しますから言ってくださいね。」
もうユリは眠そうだ。見れば、もう深夜になっていた。
「ああ、ゆっくり休んでくれ。」
どんなプログラムでも通信が発生すれば、そこに必ずセキュリティホールは発生する。そう必ずだ。所詮、人間の作ったプログラム。セキュリティホールが存在しない訳がない。
そういう信念のもと、様々な通信を行なっていくと、やはりというか、残念ながらというかセキュリティホールが見つかった。ここまでは順調。
そこから、管理者権限を使用して、動的にプログラムを書き換えてみる。これもやはりというか、残念ながらというか、自動車は暴走してしまった。
暴走しないようにするには、母体のプログラムの理解が必要か……
「すみません。自動運転のプログラムのテキストを見せてもらえませんか?」
「え、構わないが……」
眠そうな森本課長は俺にプログラムのテキストを見せてくれた。やけに大きな、そして意味があるような無いような冗長なプログラムを前にして俺は途方に暮れた。流石にこれの解析は無理かな……
俺は、そのテキストのあちこちを眺めながら、少しずつ解析を進めた。
「おはようございます。」ユリが起きてきた。もう朝になっていたのか。
「あれ、これって、自動運転のプログラムですね。」
「あれ、分かるのか。」
ユリはこういうプログラムが分かる女性には見えなかったが……
「分かると言うか……これは私の祖父のプログラムなので……」
ユリが少し元気なく言う。
「平間君のお祖父さんはね。平間教授は若い頃に交通事故で友人を亡くされ、安全な自動運転のためにすべてを捧げて、プログラム開発をしたんだよ。」
森本課長が説明してくれた。
平間……平間……
「なあ、ユリのお祖父さんの名前を教えてくれるか?」
「コータですけど……」
なんと、コータがこれを作ったのか。ユリがコータの孫で、このプログラムがコータ作か……縁があるな。しかし、なるほど、そう言われてみると所々にコータのプログラミングの癖のような物がある。コータはプログラミングが得意じゃなかったからな。相当努力をしたのだろう。
そういう目でもう一度眺めてみると、プログラムの全体像が見えてきた。
全体像を理解した後、やけに条件判定文が多い場所を見つけた。条件をよく読んでいくと、どう頑張っても成立しないような、安全のためのチェックだった。
「分かりますか……?」ユリが聞く。
「ああ、それにしても随分とここは安全チェックが多いな。」
「祖父は殊更安全には気をつけていましたから……」
とユリが言う。
なるほど。俺が死んでしまったと思い込んでいたコータはこれでもかと、安全のためのチェックを入れてくれたのだろう。だとすれば、ここを利用しない手は無いな。
俺は安全チェックの中でも特に役に立ちそうにない無駄な条件式の部分を利用して、プログラムのメモリ展開してるアドレスを割り出し上書きするプログラムを作っていった。俺のプログラムの本体は冗長なプログラムの領域を利用する。これでここの処理が走れば、奴らのプログラムを暴走させずに俺のプログラムで上書きできるはずだ。
コータは拡張性だなんだ言って、無駄なプログラミングをするのが好きだったからな。俺はそれを無駄だ無駄だと批判していたものだが……それにしても、コータもまさか自分が亡くなってから俺の手によって、こんな風に拡張されるとは思わなかっただろう。
「コータ、お前の拡張性が役に立ったぞ……」と呟いた。




