ep.2 Universal Serial Bus
「ん......」
目が覚める。喉の渇きを感じ、ぬるくなった水を飲んだ。
「......今何時だ」
パソコンの画面に目を向けると、なぜかテキストエディタが開かれており、そこにはこう記されていた。
『16個すべてのUnreal USBを取得した時、この世界の管理者となる』
「......は?」
なんだこの文章は――何者かにハッキングされたのか?このオレが? そもそも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、どれでもない型。
なら一体、どこに差し込むっていうんだよ......。
どうにもならなくなり、もう一度テキストエディタを開く。
『16個すべてのUnreal USBを取得した時、この世界の管理者となる』
先ほどと同じ文章――だが、一つ疑問が浮かぶ。
「この世界の管理者となる......」
つまり、現在のオレは『非特権ユーザー』ということになる。
ばかげている。まるでこの世界が仮想現実――
Unreal 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だ。
「......いよいよ、この世界が仮想現実であることの現実味が増してきたな」
妙な話だが、納得してしまっている自分がいた。
――ということは、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』。
試しに100加算する x86アセンブリ命令を書き込んでみるか。
mov eax, 0x07FF6A10
add dword ptr [eax], 100 ;eax += 100
この命令を脳内でHex変換するとこうなる。
B8 10 6A FF 07 83 00 64
このHex値をベースアドレスに書き込む――さぁ、どうなる......!
結果、ペットボトルは体感10センチ右に移動した。100加算して10センチ右に移動したことから『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位の人間だ。
なぜならば、THWのランキングは1~15位のプレイヤーのみが表示される。そして、1位の上に0位として創設者のハンドルネームが載っている。『16』という、共通の数字。
「――面白い」
久しぶりに、血が沸く感覚があった。第1位――albedo。あいつが絡んでいるなら、話は別だ。
「すべてのUSBを手中に収め、オレが最も優れたハッカーであることを世界に証明して見せる......!」
オレは静かに拳を握り締めた。




