他人の情報の寄せ集めメモ。
元となるメッセージは52byte。上位ワード(4byte)から順にW[0]〜W[12]とすると
- W[0]
- DS固有の値(A)を1byteごとに逆順にした値(0xAABBCCDD→0xDDCCBBAA)
- B:0x02215F10 W:0x02215F30 ?
- mySeedFinderのnazo
- W[1],W[2]
- 共に、Aに0xFCを足した値(B)を1byteごとに逆順にした値(0xAABBCCDD→0xDDCCBBAA)
- W[3],W[4]
- 共に、Bに0x4Cを足した値(C)を1byteごとに逆順にした値(0xAABBCCDD→0xDDCCBBAA)
- W[5]
- mySeedFinderのTimer0とVCount
- 上位2byteはTimer0を1byteごとに逆順にした値(0xAABB→0xBBAA)
- 下位2byteはVCount*0x100
- Timer0→B:0xC79 W:0xC68 ?
- VCount→B:0x60 W:0x5F ?
- VCountは条件次第で変動、Timer0は固有値?
- W[6],W[7]
- W[8]
- W[9]
- W[10],W[11]
- 共に、0
- W[12]
- 0xFF2F0000
SHA-1でこのメッセージから20byteのハッシュ値を生成する。
LCGsの初期seedはハッシュ値の上位8byteを1byteごとに逆順にした値。(0xAABBCCDDEEFFGGHH→0xHHGGFFEEDDCCBBAA)
MTの初期seedはLCGsの2個目のseedの上位4byte。
コメントレス
- 七宝さん
- そうですね。ありがとうございます。