コンピュータ屋として読んでしまうと(システム的に)微妙な本だった
が、
シンプルかつ奇麗(すぎる)なトリックではあった。
以下ネタバレ
読んでいる最中、ケン・トンプソンのバックドアを思い出して仕方がなかった。
http://www.ebimemo.net/diary/?date=20040413#p02
もし login.c にバックドアを記述しておいたらすぐに見つかってしまうだろう。氏はCコンパイラに仕掛けを作りこんでおき、login.cをコンパイルするときに、バックドアコードを挟み込むような特殊な仕掛けを用意しておいたのだ。それにもう一案、これだけではCコンパイラのソースコードを見たときにインチキが発覚してしまう。そこで、Cコンパイラをコンパイルするにはコンパイラが必要だという点に着目し、Cコンパイラのソースコードの中に、『"login.c を見つけたら書き換える"コードを挟み込むコード』を挟み込んだ。そしてそのコンパイラでコンパイルすると、コンパイルされた新しいコンパイラにもlogin.cを書き換えるバイナリコードが含まれるようになったのだ。そうすると、コンパイラのソースコードにはlogin.cを書き換えるというインチキ部分が無くても、コンパイラのバイナリの中には未来永劫login.cにバックドアを挟み込むインチキ部分が含まれるようになったのだ。
ここまで凝ると普通の人にはついて行けないトリックになってしまうか...