【参考にならない】パスワードを解析して星をみるひとの最強データを作ろうのコーナー その2

「みなみ」一人を最強にしてしまうその1はこちら
annnnnnna.hatenadiary.jp

その2は頑張って「しば」を仲間にするところからスタート。やっと冒険が始まるぞ!

「ぶるーIDかーど」入手

0てAAA AAAき© Q99せA

なんか戦ったらお金がオーバーフローしたのかメチャクチャ減りました。
アイテム入手で「き」の桁が増えましたね。

「しば」を仲間にしました

2PAAA AAAき© Q99せA きAAAA

わかりやすいですね、「きAAAA」がしばのデータの部分でしょう。後で「き999A」にしてやるからな。

発電機を起動する

IPAAA AQAき© Q99せA きAAAA

このゲーム、フラグ管理が朴訥で、「2つ目の村で薬を使って病気を治す」というイベントが完了したフラグがパスワードで保存されません。クリアに関係ないのかな。
しかしこのイベントのフラグは保存されるようです。
ちなみに、「Q」ってA+16で、「き」ってQ+16なんですよね。

パスワード改造で「しば」を最強にする

GOAAA AQAき© Q99せA き999A

f:id:annnnnnna:20190812023911p:plain
楽勝ですね

なんかいつの間にか「BOMB」を持ってた

なOAAA AQAき© Q99せA き99せA

例によってお金が減ってる以外は同じに見えるので謎ですね

「あいね」を仲間にしました

ねQAAA AQAき© Q99せA き99せA
らAAAA

3人目の仲間ですが4枠目です。
A+16=Q
Q+16=き
き+16=ぬ
ぬ+16=ら
なので、「ぬAAAA」を間に入れてチェックサムをなんとかしてやれば4人揃いそうです。
というか、当時プレイしてたときもこの手順でこの法則に気づいたんだけど、これに気づいたときは震えたね

とりあえずしるばーIDかーどをもらった後で3人で経験値MAXにしましょう。

しるばーIDかーど入手

ひQAAA AQAこ© Q99せA き99せA
らAAAA

レベル30×3人

はOAAA AQAこ© Q99せA き99せA
ら999A

f:id:annnnnnna:20190812032015p:plain
どうせお金減るのはわかっているのですが、A→9の改造が楽なので。

3枠目の「みさ」は仲間にするためにイベントをこなす必要があるのですが、そのフラグ管理が行われているか謎で、フラグを立てずに仲間にしてしまったら最終的なフラグが揃わないんじゃないか疑惑がありますが、やります。

4人目を生成する前に、チェックサムについて

一人増やすと5文字増えるため、チェックサムをちょっと計算する必要があります。
ここで一旦最初のパスワードに戻ります

GWAAA AAA©Q AAAA

奇数桁のチェックサムがGの桁、偶数桁のチェックサムがWの桁と予想しています。
つまり、Gが対応する文字はAAA©AA、Wが対応する文字はAAAQAAですね。
ところで、星をみるひとのパスワードに使える文字は©を除いて128種類です。Aを0として、文字が選べる順に連番を振っていくと以下のようになります

00~07
08~15
16~23
24~31
32~39
40~47
48~55
56~63
64~71
72~79
80~87
88~95
96~103
104~111
112~119
120~127

©は経験値やチェックサムの桁に使われないようなのでこの表から除外しました。チェックサムの計算に含むかはこれから見ていきましょう
G、AAA©AA、W、AAAQAAそれぞれを上記の表によって数値化すると
G→6
AAA©AA→0+0+0+?+0+0
W→22
AAAQAA→0+0+0+16+0+0
となります。
Aを1として番号を振った場合は
G→7
AAA©AA→1+1+1+?+1+1
W→23
AAAQAA→1+1+1+17+1+1
です。
Aを0として振った番号の合計プラス文字数かな?
©は0として計算して良さそう。


もうちょっとサンプルが欲しいですね。あいねを仲間にする前後です

なOAAA AQAき© Q99せA き99せA

な→46
AAQきQ9A9せ→0+0+16+32+16+127+0+127+39+9(文字数)=366
O→14
AAA©9せき9A→0+0+0+0+127+39+32+127+0+9(文字数)=334
チェックサムの桁は9まで行ったらAにループしていそうなので、合計を128で割った余りを取りましょう
366 mod 128=110
334 mod 128=78
ずれてますね。ただ、どちらも64ずれているので
366 mod 64 = 46
334 mod 64 = 14
になります。しかし、数字になるパターンも見ているので128で割った余りになる場合もあるはずです。なんとなくだけど、文字数が奇数のときは64で割った余りで、偶数のときは128で割った余りかな?

ねQAAA AQAき© Q99せA き99せA
らAAAA

ね→49
AAQきQ9A9せらAA→0+0+16+32+16+127+0+127+39+64+0+0+12(文字数)=433
433 mod 128 = 49

Q→16
AAA©9せき9AAA→0+0+0+0+127+39+32+127+0+0+0+11(文字数)=336
336 mod 64 = 16

一見予想はあってそうですが、128で割った余りが64未満の場合、64で割った余りも同じになるはずなので、チェックサムが「ら」を超えるパターンがないと確証が持てませんね。
一旦古いパスワードに戻ります

0てAAA AAAき© Q99せA

0→118
AAAきQ9A→0+0+0+32+16+127+0+7(文字数)=182
182 mod 64 = 54

て→44
AAA©9せ→0+0+0+0+127+39+6(文字数)= 172
172 mod 128 = 44

なんか違いますね。
でも(182-64) mod 128 = 118 なんですよね。
文字数が奇数の場合は合計から マイナス64してから mod 128 かな?さっきまで64で割ってた部分もこの条件でいけそうです。


現時点の最終パスワードで確認してみましょう

はOAAA AQAこ© Q99せA き99せA
ら999A

は→51
AAQこQ9A9せら9A→0+0+16+35+16+127+0+127+39+64+127+0+12(文字数)=563
563 mod 128 = 51

O→14
AAA©9せき9A99→0+0+0+0+127+39+32+127+0+127+127+11(文字数)=590
(590 - 64) mod 128 = 14

合ってそう!

レベルMAXの4人パーティのパスワードをいきなり作る

①②AAA AQAこ© Q99せA き99せA
ぬ999A ら999A

チェックサムを計算して①②を埋めれば勝利です
AAQこQ9A9せぬ9A99→0+0+16+35+16+127+0+127+39+48+127+0+127+127+14(文字数)=803
803 mod 128 = 35 → こ
AAA©9せき9A99ら9A→0+0+0+0+127+39+32+127+0+127+127+64+127+0+14(文字数)=784
784 mod 128 = 16 → Q
つまり

こQAAA AQAこ© Q99せA き99せA
ぬ999A ら999A

f:id:annnnnnna:20190812102338p:plain
通った!


さすがにイベントフラグは予想で埋められないからパスワードいじりはここまでかな