09/11/29 09:34:27 K7iaYPec.net
>>210
結果的にチェックサムは単なるバイトごとの総和だったのだけど、
正としていた文字対ビット列の対応表(前スレ840)が、
実際にはビット反転処理(XOR)後のものだったために、
単純に加算しても値が合わなかった、というのが詰まった原因だった。
ゲーム内でのパスワード生成ロジックはおそらくこんな感じ。
・パターン番号(=ビット反転処理のマスク値)を決定(0~255、出力の度にランダム)
・ステータスを各規定サイズのビット列にし、所定の順番に並べる(176ビット)
・1バイト(8ビット)ごとに区切り、22要素のバイト配列とする
・各バイト値に対してパターン番号をマスク値としたビット反転処理(XOR演算)を行う
・パターン番号ごとに決められた移送パターンにより、バイト配列の並びを入れ替える
・23バイト目にパターン番号を追加する
・24バイト目に1~23バイト目までの総和(を256で割った余り)を追加する(チェックサム値)
・24要素のバイト配列を順番に並べ、6ビット単位で対応する文字に変換し、完成