002:転生システムハッキング
天使が残していったノートPCの画面を見てみると……
Q1.あなたの名前を入力してください
[ ]
こんな画面で停止していた。
ありがたいことにキーボードはテンキー付QWERTY配列で、しかも画面はタッチパネル。
スマホしか使えない最近の若者に配慮した設計になっているのかな。
とりあえず名前を入力してみよう。
Q1.あなたの名前を入力してください
[ヤマダ タケル ]
……これ、最大何文字まで行けるんだろう?
Q1.あなたの名前を入力してください
[ヤマダ タケルああああ
おお、たった全角11文字で入力枠を突き抜けちゃったぞ!?
このまま先に進むことも出来るようだ。
……よしっ!
Q1.あなたの名前を入力してください
[ヤマダ タケルあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ……
さらに文字を全選択してCTRL+V~~~~.....と30秒ほどひたすら大量の文字列をコピペしていると、動作がもっさりしてきたのでエンターキーを押してみた。
『~♪ プーーーーーーーーーーーーー…』
「やっば! システム固まったっ!?」
しかもノートPCからBGMとして流れていた神聖な曲がバグって変な音程に!
慌てて電源ボタンを探し、長押しで強制終了してから再起動させると、無事に起動ロゴが表示された。
……どうやらOS名は『ANGEL-RING』という名前らしい。
地味にカッコイイな!
Q1.あなたの名前を入力してください
[ ]
なるほど、オートスタートで転生システムを呼び出すようになっているようだ。
この状態で試しに適当なキーを押しまくっていたらプログラムが終了し、デスクトップが表示されたのだけど、画面の右下を見ると……
『このANGEL-RINGは正規品ではありません』
なんだか見てはいけないモノを見てしまった気がするけど、気を取り直してノートPCを徹底的に調べ尽くすコトにした。
◇◇
残念ながら開発ツールやデバッガは入っていなかったが、メモ帳アプリに転生システムのいくつかのファイルを放り込んでみたところ、開発中のメッセージや他の開発メンバーへの悪口、そして……テスト用と思われるコードと仕様書が見つかった。
いくつか分からない言語はあったものの、恐らくコレで行けるハズ……。
Q1.あなたの名前を入力してください。
[ヤマダ タケル\0瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞瑞尖0*debugmode=1
Q2.権限を選択してください。
[Administrator ]
Q3.ステータスを入力してください(16進)。
[270F 270F 03E7 03E7 03E7 03E7 03E7 03E7 FFFFFFFFFFFFFFFF]
Q4.種族を選択してください
[Human ]
Q5.転生先を選んでください。
[Sword & Sorcery ]
Q6.パートナーを選んでください。
[Ange ]
Q7.システムコンソールを利用しますか?
[Yes ]
実はQ3の最後の64ビット値だけ、仕様書に詳細が書いてなかったのでよく分からなかったのだけど、適当に全部FFで埋めてみた。
そして俺はエンターキーを押した。
~ あとがき ~
この回を読んでも意味が分からない人向けのネタ解説。
1.ヤマダ タケルあああああああああ…
本来は「入力した文字列から全角30文字以下しか受け付けない」など適切な処理をすることで防ぐことができるのですが、転生システムのプログラマが手を抜いてその処理を省いてしまったため、文字列格納用メモリを突き抜けてプログラムを侵食しています。
約2キロバイトの「ああああ…」の文字列を30秒ぶっ続けでキーリピート機能を使ってコピペし続けたので、100キロバイト以上のバッファオーバーフローが発生しており、それだけプログラムが破壊されればシステムがフリーズしてもおかしくないですね。
2.このANGEL-RINGは正規品ではありません
不正なプロダクトキーを用いたり、オンライン認証を済ませないまま強引に使っているOSの警告メッセージです。
つまり天界の「若者を異世界に送り込む部署」は、OSライセンスを適切に購入する予算すら無い悲惨な状況だということ。
3.残念ながら開発ツールやデバッガは入っていなかった
ホント、この人は何をする気だったんでしょうね。
4.メモ帳アプリに転生システムのいくつかのファイルを放り込んでみた
まともなハック環境の揃っていないマシンにおいて、メモ帳(notepad.exe)は唯一無二のハックツールになります。
ただし、メモ帳で地道にスクリプトを書く作業はかなり苦行です。
5.ヤマダ タケル\0瑞瑞瑞(中略)瑞瑞尖0*debugmode=1
\0は終端文字で、コレを入れないと名前がバグります。
というか名前に\0みたいな制御コードの入力を許している時点で、このシステム作ったヤツはわざとハッキングされるコトを狙っていたのかもしれません。
瑞瑞瑞..は文字コードCP932において、16ビット値0x9090になり、x86系CPUでnop(no operation)命令を2回実行させる効果を持ちますので、129回連続で「瑞」を繰り返すことで258バイト分のコードを無効化しています。
連続する瑞の後に続く「尖0*debugmode=1」ですが、この内「尖0」の尖はCP932において0x90EB、数字の"0"はコード0x30を表しており、nop(90) + JMP 0x30(EB30)という命令を意味します。
これにより、現在のメモリアドレスから48バイト先にジャンプしてからデバッグモード有効化コマンド*debugmode=1をプログラムコードにムリヤリ上書きすることで、質問2で表示される項目が「転生先」ではなく「権限設定」に変化しています(つまりこの時点でハッキングが成功しています)。
6.[270F 270F 03E7 03E7 03E7 03E7 03E7 03E7 FFFFFFFFFFFFFFFF]
10進数に直すと9999 9999 999 999 999 999 999 999、いわゆるチートコードの「パラメータMAX」の意味になります。
ただ、主人公のタケルは最後の64ビット分のFFFF..を「適当に全部FFで埋めてみた」というチーターがやりがちなミスをやってしまったため、後で大変なことになります。





