「エヴァンゲリオン」「使徒侵入」

access_time create folderエンタメ
「エヴァンゲリオン」「使徒侵入」

今回はメカAGさんのブログからご寄稿いただきました。

「エヴァンゲリオン」「使徒侵入」

旧作のエヴァンゲリオンでわりと好きなエピソード「使徒侵入」。細菌サイズの使徒がネルフ本部に侵入し、ネルフのメインコンピュータMAGIにハッキングを仕掛ける。中盤の手に汗握る展開が素晴らしい。

侵入に対してネルフのオペレータが防戦で四苦八苦し、「ダミーエントリを展開」とか叫んでる。たぶんエントリというのはプログラムのエントリポイントのことで、ダミーというのだから偽物のエントリをたくさん作って、侵入側のめくらましをしようということなのだろう。

現在はパソコンの量販店のソフマップは1982年に高田馬場に設立されたパソコンソフトレンタルショップを発端としている。当時まだソフトウェアについて法整備がなされておらず、灰色のビジネスとして、レンタル権について定めた1985年の著作権法改正が施行されるまで一世を風靡した。

この間の数年間、パソコンのコピープロテクトとそれを解除してコピーをするコピーツールの華々しい戦いが繰り広げられたのだが、コピーツールには2つのタイプがある。1つはディスクのフォーマットを忠実に再現して同じ物を作り出す方式。もう一つはプログラムを解析し、プロテクトのチェック部分を外してしまう方式。

   *   *   *

プログラムの解析というと大変な手間がかかると思うだろうし、現に手間がかかるのだが、当時パソコンに強い高校生や大学生が趣味でアルバイトがてらやっていたように思う。「誰が最初にプロテクトを外すか?」という競争というか実力の証明というか(笑)。

解析にもコツがあるらしく、その一つがint18とかint1cとかのシステムコール。intというのはインタラプト(割り込み)の略。18とか1cとい宇野はその番号(16進数)。これを目印にひたすらディスアセンブルしていく。int18とかint1cというのはPC-9801のディスクアクセスのためのROMへのシステムコール。いまでいえばBIOSコールか。プログラムはこれらのシステムコールを使ってディスクアクセスを行いプロテクトのチェックを行なっている事が多いから、それを探していく。

もちろんプログラムは上から下に書かれているだけでなく、ジャンプやサブルーチンコールもあるから、流れに沿って追いかけなければならないが、慣れてくると糞真面目に追いかけなくても見当がつくらしい。冒頭のエントリポイントというのはジャンプ先だったりサブルーチンの先頭のアドレス。

   *   *   *

エヴァの話にもどると、それっぽい偽のエントリをたくさん作って、本物を隠しましょうということなのだろう。もちろん真面目に順番にプログラムを追いかけていくような解析には無意味だが、上述のように慣れた人間ならきちんと解析しなくても感でわかるらしい。そうなれば大幅に時間を節約できるわけで、それが腕の見せ所というわけ。

エヴァンの後半、マヤとリツコがMAGIの中に入ってコードを書き換える箇所で、MAGIの開発者が残したメモを見てマヤが狂喜するシーンがある。「わあ、すごい、これなんてイントのシーよ!」と。

この「イントのシー」が何を意味しているかだが、「intのc」と解釈して、C言語の整数(インテジャー)の宣言ではないかと解説しているサイトもある。

エヴァ用語集
http://www003.upp.so-net.ne.jp/eva/evangelion/word/eva_w.html

でも俺は上述のようにエヴァという作品が作られるちょっと前に盛り上がったプロテクト解析から、int18やint1cと同じようなシステムコールを指してるのではないかと推測する。「インタラプトの番号c」と。まあそれが何を意味するかは不明だが、「C言語のインテジャー」よりは、このシーンに合っている気がする。真相はわかんないけどね(笑)。

   *   *   *

リツコがバルタザールへのハッキング速度を落とすために「シンクロモードを15秒にして」と指示したのは、3台コンピュータの同期間隔を15秒にして、処理速度を落としたということなのだろう。通常はもっとミリ秒やマイクロ秒単位に3台のコンピュータは互いに同期してるのだろうけど、それを機能が停止しないギリギリまで引き伸ばした、と。

安全性が必要なコンピュータにはウォッチドッグタイマと呼ばれるものがついている場合がある。直訳すると「番犬」。正常に動いている限り定期的にウォッチドッグをリセットする処理が走る。逆に言えば一定時間以上ウォッチドッグタイマがリセットされないということは、プログラムが異常を起こしていることになり、強制的に再起動させたりする。

デスノートでLの死をカウントダウンしているタイマも、一種のウォッチドッグですな。Lが死んでカウントダウンがリセットされなくなると、Lの死がしかるべき相手に通知される。

んで、MAGIの同期間隔15秒というのは、このウォッチドッグタイマが働かないギリギリの時間なのだろう。これ以上引き伸ばすとウォッチドッグが働き、MAGIシステムに重大な異常が発生したとみなされて、別の困ったことが起きるのかもしれない(有無をいわさず自爆するとか)。

   *   *   *

ちなみにこのエピソードは映画「アンドロメダ病原体」を連想するシーンがたくさんある。アンドロメダも最後にコンピュータの自爆を止める攻防になるし、細菌サイズの使徒が最初オゾンに弱いというのも、アンドロメダ病原体が酸性・アルカリ性のごく狭い範囲でしか生きられないことと似ている。

レーザーで使徒を攻撃しようというのも似たシーンがアンドロメダにある。アンドロメダの場合はコンピュータの防衛システムをかいくぐって自爆を止めようとする人間がレーザーで攻撃されるのだが。ただアンドロメダの場合、よくあるコンピュータの反乱という話ではなく、コンピュータは忠実に決められた命令に従っているだけ。

病原菌が外部に漏れないように、いざとなったら研究所ごと自爆させることになっているのだが、その解除キーを持っている人間が閉鎖された区画の内側にいて、自爆を解除できないといういささか間抜けな展開。しかもそういう状況を想定して解除キーの端末を増設する予定で、工事途中の端末(コードがむき出し)を見て、「ああ、もっとはやくここに設置しておけば」と主人公たちが嘆く(笑)。

で、仕方なしに進入禁止のルートを通って、解除キーの端末がある場所に行く途中に前述のレーザー防衛システムと対決することになる。

   *   *   *

ハッキングを題材とした当時のアニメにもう一つ「メガゾーン23」がある。世界を平和裏に管理している巨大コンピュータを軍部がハッキングするというストーリー。軍部は単純な悪ではなく、世界に危機が迫っているのに、人々にそれを知らせずまやかしの平和な世界(1980年代の日本)に留めておこうとする管理コンピュータが許せなかったようだ。

PART2作られ、PART1で解除されて軍部の手に落ちたと思われていた巨大コンピュータが実は何重にもプロテクトされた奥底で生き残っており、クライマックスで再起動する。

軍部は再起動したプログラムも解析しようとするが、スクリーンにはアセンブラリストが現れ、オペレータは「解析できません」という。ちなみにPART1の時に現れたのはBASICのリストだった。つまりこの時代の技術者はBASICのプログラムはわかるけど。アセンブラは理解できない、と…って違うか(苦笑)。

当時のパソコンのプログラムでもプロテクトチェックを複数回行うものがあった。たいていは冒頭のチェックだけで、それを解除して起動に成功してしまえばあとはノーチェックなのだが、アドベンチャーゲームのかなり進んだ段階で再びチェックを行うものがあり、そうなるとゲームをクリアしないと、プロテクトチェックを全部外したか確証が持てないという(笑)。

執筆: この記事はメカAGさんのブログからご寄稿いただきました。

  1. HOME
  2. エンタメ
  3. 「エヴァンゲリオン」「使徒侵入」
access_time create folderエンタメ

寄稿

ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。

TwitterID: getnews_kiko

  • ガジェット通信編集部への情報提供はこちら
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。