第12話 解析あるいは災難の入り口

 廃ビルの中に走り込み、蜘蛛の巣を手で払いながら階段を駆け上がり、人の目がないことを何度も確認して端末を起動する。良く分からないアイコンが並んでいる。そのうちいくつかを起動すると、何かの入力を求められた。適当にキーを叩く。何かが動き出す。

 

 ガラスどころか枠すらない四角い窓から外を見下ろす。ちょうど真下のモーテルの一部屋から住民が出かけるところだった。

 

 マリオは階段を来たとき以上の勢いで駆け下り、住人の居なくなった部屋まで近づいた。

 

 電子錠に端末をかざす。鍵が外れたようには思えなかったが、そんなはずはなかった。これは魔法使いの魔法の杖なのだ。

 

 ドアノブに手を伸ばした────びくともしない。また端末をかざした。何かが起こったようには思えない。再び回す。やはり鍵はかかったままだった。

 

 マリオは思わずドアを叩き、蹴りつけていた。けたたましい防犯装置のブザーが鳴る。

 

 慌てて左右を見回した。飛び出してきた二つ隣の部屋の住人と目が合う。片手には拳銃が握られていた。

 

 柵を乗り越えて走る。銃声が聞こえ、すぐ近くで火花が散った。頭を両手で庇いながら逃げ続けた。

 

 どことも知れない建物の陰に逃げ込む。心臓が跳ね、胸を突き破って飛び出ていきそうだった。戻ってあの枯れ木のような老体を殴りつけてやろうかと思った。だが、相手は銃を持っている。あの爺さん。爺。ペテン師。

 

 マリオは一緒に渡された媒体のことを思い出した。端末に差込み、中身を確認する。膨大な量のテキストファイル。見たことのない単語ばかり出てくる。訳の分からない文章が続く。そもそも読めない言語で書かれているものもある。

 

 文字の上を目が滑った。端末を投げ捨て、コンクリートの路地の上に倒れこんで両手で顔を覆った。そして、すぐに起き上がって放り投げたものを拾いなおした。全てに目を通す。分かる部分だけ抜き出して少しずつ理解する。見たことのある単語。見た記憶のある画像。辛抱強く解読する。生き延びるために。

 

 数日後、マリオは再び老人に会いに行った。入り口にかけられていたロックを解除して。撃たれはしなかった。多少驚いた様子ではあったが。

 

 やがてマリオの様子が普段と違うことに気付いた同じ境遇の子供たちがそこに集り始めたが、ものになったのはそのうちのほんの僅かだった。

 

 類まれな腕のハッカー。どこか人間離れした雰囲気を持つ赤帽子を被った老人の噂はすぐに広がり、多数の仕事が舞い込んだ。やがてマリオは老人の世話をするついでにちょっとした仕事を手伝うようになった。技術を盗むために。最初は魔法のように見えたものが次第に手品のように感じられるようになってきた。種が割れてきたから。自分にもそれができるように思えてきたから。

 

 性質の悪い妖精の最後はあっけないものだった。いつものように世話をするために部屋を訪れると、長椅子の上に横たわって眠るようにくたばっていた。

 

 老衰。マリオは最後まで残っていた子供たちを呼び、一緒になって遺体を運んだ。ドアの鍵とエンジンキーを壊して手に入れた、防犯装置すらついていなかった無用心なピックアップを使って。臨時の霊柩車。

 

 運転はマリオが行った。助手席のラウラはむすっとした顔で焼却炉までの道をナビゲートした。後ろでは誰かが下手糞な鎮魂歌を口ずさんでいた。

 

 マリオの持つアドレスにメールが送られて来たのはその数日後だった。

 送信者:レッドキャップ。送信先:マリオのみ。メールの件名:お前の好きにやれ。まったくの意味不明。

 

 本文にはとあるアパートメントの住所だけが記載されてあった。そこに足を運んだ。誰にも言わず、たった一人で。家具も何もないがらんとした部屋の中央にいくつかのHDDが積み重ねられているのを見つけた。中は宝の山だった。

 

 

 

 解析に使ったツールは、そこに入っていたものの一つだった。得体の知れない爺さんだったが、いったいこれと何の繋がりがあるのやら。

 

 結局、最後までレッドキャップの素性は分からず仕舞いで、自分の名前すら最後まで言わなかった。身の上話を語る素振りなど欠片も無かった。クソ爺。爺。爺さん。めいめいが好きに呼んでいたが、それに返答をしたところを少なくともマリオは一度も見た記憶がない。偏屈が人間の皮を被っているような人物だった。

 

 ラウラがモニタに落としていた視線を上げる。「昨日一日調べてたんだから、目星くらいはついてるんでしょ?」

 「いま送る」

 

 チャットソフトを開いてめぼしいクラスとメソッド名を送る。

 

 「これは?」

 「起動時に走るチェック処理だ。ここで引っかかってるからとりあえず全部見てくれ。そのときのログは同じ階層のディレクトリに入れてある。俺はその間にチェックを迂回できるかどうかダミーを動かしてみる」

 「了解」

 

 大抵の人間が頭痛を覚えそうな文字と記号の羅列を見てラウラが嬉々としてPCを操りだす。この分なら任せておいてもいいだろう。外見に反して高性能な頭の中の計算機が動き出した音が聞こえてくる。

 

 見たことのない言語でもやることはいつもと変わらない。文法の構成と使われた文字の類似点から処理内容を類推するだけだ。それを繰り返して少しずつ解読する。マリオとしては時間をかければ誰にでも解けるパズルのようなものだという感覚でしかなかったが、思いのほかこれに適正を示す人間が少ない。

 

 マリオは書き上げたプラグラムを元のものと差し替えて動作させてみる。チェックの成否判定は戻ってきた結果の一部を参照して行われている。その部分を強制的に成功にして第一のチェックを通した。

 

 その次でエラー。別値のチェックで閾値に届かず引っかかった。そこも書き換える。

 エラー。次も書き換える。エラー。メソッドに引き渡されたクラスのローカル変数を書き換える。何か一足飛びにいけそうなルートを模索しながら一つ一つハードルを越える。

 

 「ん? 待て、今ダミーを動かしているな?」ヒューズが背中越しに振り返った。

 「ああ。何かまずかったか?」

 「いや、たったいま気付いたんだが、ダミーだとネットワーク通信が起きていない」

 

 ヒューズが何かしらの機器をポケットから取り出した。それからちょっと失礼、と他の作業者に断りを入れながら部屋の機材をいくつか操作する。「もう一回ダミープログラムを動かしてくれ。他は停止した状態だ」

 

 マリオがキーを叩く。ヒューズが手に収まる程度の機械の小さなモニタを見ながら頷く。


 「次は正規のプログラムを動かしてみてくれ」

 

 元のものに差し替え、再び実行。当然のように最初のチェックで引っかかる。ヒューズが納得顔で頷いた。

 

 「やはりな。ネットワーク経由で接続先の処理を動かして結果を引っ張ってくるのが正しい動作なんじゃないか? その部分の詳細は分からないのか?」

 マリオは両手を広げた。「分からんね。外部で行ってるってことはこの場にその処理が無いわけだから、中身なんぞ知りようがない。それにソースコード上で通信している箇所らしきところは分かるが、難読化されてて復元に半分は失敗してる。まあ関係ないさ、もう少しすりゃ、全部通してやるよ」

 「それはそれで不味いんじゃない? その接続で使ってるメソッドと変数名で検索してみなさいって」ラウラが自分のPCの画面をタッチでスクロールさせながら言った。

 

 言われたとおりにしてみると、ネットワーク接続で利用している処理があらゆる場所で使い回されている。

 

 「なるほどね……何をやるにしても外部に実行許可を求めるか、あるいは外部に処理の本体があるって訳か。この分だと起動処理時に一時的な迂回ができても、本処理がまともに動かない可能性が高いな。鬱陶しい設計をしてやがる」

 「真っ当にチェックを通過できないのか?」ヒューズが言った。

 「んなアホみたいなことをやりたくないんだが」

 「とりあえず試してみるくらいは構わないんじゃない? チェック機能で通信してる部分以外を除外してみたんだけど、最終的にこの10個の値をそれぞれ個別の閾値で判定してるやつがネックみたいね」

 

 もうマリオと同じところまで理解度を上げたラウラがチャットで該当部分を知らせてくる。

 

 「みたいだな。ヒューズ、通信先はどこか分かるか?」

 「暗号化されてるに決まってるだろう。その拾い物とやらは、こっちの面倒も見てはくれないのか?」

 

 先ほどの機器が投げて寄越された。PCに繋いでそこに格納されていた通信データを遺品の暗号通信解析ソフトに一通りかけてみる。期待しないで画面を見ていたマリオがあっという間抜けな声を上げた。

 

 「おいおい……いけたわ」

 

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る