Hack The World   作:Hide.

2 / 11
ep.2 Universal Serial Bus

「ん......」

 

 目が覚める。喉の渇きを感じ、ぬるくなった水を飲んだ。

 

「今何時だ」

 

 パソコンの画面に目を向けると、なぜかテキストエディタが開かれており、そこにはこう記されていた。

 

『16個すべてのUnreal USBを取得した時、この世界の管理者(admin)となる』

 

「は?」

 

 なんだこの文章は――何者かにハッキングされたのか?このオレが? そもそもUnreal USBってなんだよ......。

 

 予想外の出来事に、思考がばらばらに散らばる。

 

 ふと視線を落とすと、モニターの下に見慣れないUSBが置かれていた。

 

 心臓が、一瞬だけ跳ね上がった。

 

 恐る恐る手に取ると、表面には『Unreal USB』と刻まれていた。

 

「な......! まさか部屋の中に侵入されたのか!?」

 

 急いでドアを確認すると、二重ロックはしっかりとかかったままだった。

 

「一体どうなってるんだ」

 

 USBを裏返すと、そこには『MOVE』と書かれていた。

 

「MOVE......メーカーの名前か?」

 

 すぐさまモニターの前に戻り、検索をかけてみたが、MOVEという名のUSBメーカーは一件もヒットしなかった。

 

 存在しないはずのものが、今、オレの手の中にある。

 

「くそっ......オレが寝ている間に、この部屋で何が起こったんだ」

 

 答えを探すたびに、疑問だけが増えていく。

 

 もう一度、USBに目を向ける。

 

「USBってことは、パソコンに繋げれば中身が見られるんだよな」

 

 側面のスライダーを押し上げると、銀色のプラグが顔を出した。

 

 その瞬間、USBが青白く発光した。

 

「!?」

 

 驚きのあまり言葉にもならない声が出て、USBを取り落としそうになる。

 

 部屋に静寂が戻る。心臓がまだうるさかった。

 

 驚かせやがって! いっそ窓から放り投げてやろうか!

 

 ......いや、それじゃ何もわからないままだ。

 

 一回深呼吸をして心を落ち着かせ、オレは不気味に光るUSBを拾い上げた。

 

「もしこれがUSB Killerのようなものだったら、オレのパソコンはお釈迦だな」

 USB Killer――ハードウェアを直接破壊する、電気的攻撃装置だ。

 

 ま、壊れたら壊れた時だ。

 

 それでも、ポートに近づけるたびに、指先が微かに震えた。

 

 オレはプラグをゆっくりとポートに差し込んだ。

 

 が、プラグはポートに収まらなかった。よく見ると、見たことのない形状をしている。

 

 Type-A / B / C / Micro / Mini、どれでもない型。

 

 なら一体、どこに差し込むっていうんだよ......。

 

 物理ポートが存在しない?

 

 いや違う。I/O(入出力)がないデバイスなんてありえない。

 

 なら、その接続先はどこだ。

 

 どうにもならなくなり、もう一度テキストエディタを開く。

 

『16個すべてのUnreal USBを取得した時、この世界の管理者となる』

 

 先ほどと同じ文章。だが、一つ疑問が浮かぶ。

 

「この世界の管理者となる......」

 

 つまり、現在のオレは『非特権ユーザー』ということになる。

 

 ばかげている。まるでこの世界が仮想現実――

 

 U()n()r()e()a()l() USB

 

「そういうことか」

 

 オレは小さく呟いた。

 

 これは機械に接続するUSBじゃない。人間に接続するためのUSBだ。

 

 オレはゆっくりと、人差し指でプラグの先端に触れた。

 

 その瞬間――全身に電流が走るような感覚に襲われた。脳がCPU、記憶がストレージ、呼吸がファン。自分の体が機械へと作り替えられていくような感覚。

 

 そして――

 

00000000: B8 34 12 00 00 89 C3 8B 45 FC 83 C0 10 89 45 F8

00000010: 55 48 89 E5 48 83 EC 20 48 8D 3D 2A 00 00 00 E8

00000020: 1B 00 00 00 85 C0 74 0A 83 F8 01 75 05 EB 0C 8B

00000030: 4D F8 31 C0 89 C1 01 D1 89 4D F4 5D C3 90 90 48

00000040: 31 FF 48 89 FE 48 8D 7D E0 E8 2D FF FF FF 90 83

00000050: EC 10 C7 45 FC 00 00 00 00 8B 45 FC 83 C0 01 89

00000060: 45 FC 83 7D FC 10 7C 0A B8 01 00 00 00 EB 08 0F

00000070: 1F 84 00 00 00 00 00 48 89 D8 48 29 C3 48 89 D8

00000080: E9 3A FF FF FF 90 90 90 55 48 89 E5 48 83 EC 30

00000090: 8B 55 FC 8B 45 F8 01 D0 89 45 F4 5D C3 90 90 90

000000A0: 48 8B 05 1A 00 00 00 48 85 C0 74 07 FF D0 EB 05

000000B0: B9 10 00 00 00 31 C0 F3 AB 48 8D 3D 11 00 00 00

000000C0: 89 7D FC 8B 75 FC 48 8D 45 F8 89 45 F8 5D C3 90

000000D0: 83 F8 00 7F 0A 48 FF C0 75 F5 EB 08 90 90 90 90

000000E0: 48 31 C0 48 FF C0 48 83 F8 05 7C F6 C3 90 90 90

000000F0: 0F 85 12 00 00 00 48 89 DF E8 34 FF FF 90 90 90

00000100:

 

 以下、延々と続く数値の羅列が、視界いっぱいに広がっていた。

 

 これは――Hex(16進数)だ。

 

 この並び......見覚えがある。プロセスのメモリダンプと同じ構造だ。

 

 つまり、これはただの数値じゃない。オブジェクトの状態そのものを表している。

 

「いよいよ、この世界が仮想現実であることの現実味が増してきたな」

 

 妙な話だが、納得してしまっている自分がいる。

 

 ――ということは、USBに書かれていた『MOVE』という文字......もしや物体を移動することができる?

 

 オレは目の前にあるペットボトルに視線を合わせた。

 

07FF6A10: 8B 45 08 8B 48 04 83 F9 00 75 0F 8B 10 83 FA 00

07FF6A20: 7E 08 83 EA 0A 89 10 C3 90 90 C3

 

 すると、07FF6A10~07FF6A2Aまでのオフセットが表示された。

 

 なるほど、これがこのペットボトルのHex値というわけだ。ベースアドレスは『07FF6A10』。

 

 表示された値は連続している。おそらく先頭からx、y、z座標が並んでいる。

 

 なら、この先頭アドレスに書き込めば、x座標を直接いじれるはずだ。

 

 試しに100加算する x86アセンブリ命令を書き込んでみるか。

 

mov eax, 0x07FF6A10

add dword ptr [eax], 100 ; x += 100

 

 この命令を脳内でHex変換するとこうなる。

 

B8 10 6A FF 07 83 00 64

 

 このHex値をベースアドレスに書き込む――さぁ、どうなる......!

 

 結果、ペットボトルは体感10センチ右に移動した。約10センチ......つまり100ミリ。加算値は100。

 

 ――1単位あたり1ミリ、か。

 

「......確定だ。このUSBはオブジェクトの座標を操作できる」

 

 興奮を押し殺しながら、オレは静かに口角を上げた。

 

 ベースアドレスを確認すると、書き込んだHex値が『8B 45 08 8B 48 04 83 F9』に戻っていた。

 

 書き換えたコードは一時的に実行されるだけか。本体の構造自体は常に元の状態にロールバックされるらしい。

 

 つまり、オレがやっているのはデータの改変じゃない。処理結果の上書きだ。

 

 これをy、z軸にも適用する場合――

 

mov esi, 0x07FF6A10

 

; 読み込み

mov eax, [esi] ; x

mov ebx, [esi+4] ; y

mov ecx, [esi+8] ; z

 

; 変更

sub eax, 100 ; x -= 100

add ebx, 250 ; y += 250

add ecx, 200 ; z += 200

 

; 書き戻し

mov [esi], eax

mov [esi+4], ebx

mov [esi+8], ecx

 

 思った通り。ペットボトルはオレの頭上に乗った。

 

 なるほど。このUSBは現実の理を書き換える装置らしい。そして、同種のものがあと15個存在する。

 

 THWのランキングは1位から15位まで。加えて、その上に0()()として創設者がいる。

 

 合計、16。

 

 すべてのUSBが、あのランキングと紐づいていると考えるのが自然か。

 

「面白い」

 

 久しぶりに、血が沸く感覚があった。第1位――albedo。あいつが絡んでいるなら、話は別だ。

 

「すべてのUSBを手中に収め、オレが最も優れたハッカーであることを世界に証明してみせる......!」

 

 オレは静かに拳を握り締めた。

  1. 目次
  2. 小説情報
  3. 縦書き
  4. しおりを挟む
  5. お気に入り登録
  6. 評価
  7. 感想
  8. ここすき
  9. 誤字
  10. 閲覧設定

▲ページの一番上に飛ぶ
X(Twitter)で読了報告
感想を書く ※感想一覧
内容
0文字 10~5000文字
感想を書き込む前に 感想を投稿する際のガイドライン に違反していないか確認して下さい。
※展開予想はネタ潰しになるだけですので、感想欄ではご遠慮ください。