
175
9
カスタムハッシュ値を生成するには、そのハッシュ値を生成したアルゴリズムを知る必
要があり、フリーの
IDA Pro
、
Hopper
、
radare2
などの逆アセンブラを使って解読するこ
とが求められる。例えばリスト
9-3
は、
radare2
で表示されるカスタム
CRC
アルゴリズム
の出力例を示している。
| .------> 0x00400733 488b9568fff. mov rdx, [rbp-0x98]
|- fcn.0040077c 107
| ||| | 0x0040073a 488d855ffff. lea rax, [rbp-0xa1]
| ||| | 0x00400741 4889d1 mov rcx, rdx
| ||| | 0x00400744 ba01000000 mov edx, 0x1
| ||| | 0x00400749 be01000000 mov esi, 0x1
| ||| | 0x0040074e 4889c7 mov rdi, rax
| ||| | 0x00400751 e8dafdffff call sym.imp.fread
| ||| | sym.imp.fread()
| ||| | 0x00400756 8b9560ffffff mov edx, [rbp-0xa0]
| ||| | 0x0040075c 89d0 mov eax, edx
❶
| ||| | 0x0040075e c1e005 shl eax, 0x5
❷
| ||| ...