= easyone = == 問題 == This is very easy crackme. easyone == メモ == == 解法 == アセンブリを見ると,40062aから40069eあたりで明らかに文字列を作っている。 {{{ 40062a: c6 45 d6 37 movb $0x37,-0x2a(%rbp) 40062e: c6 45 e2 33 movb $0x33,-0x1e(%rbp) 400632: c6 45 db 31 movb $0x31,-0x25(%rbp) 400636: c6 45 d7 48 movb $0x48,-0x29(%rbp) 40063a: c6 45 de 37 movb $0x37,-0x22(%rbp) ... 400696: c6 45 e1 5f movb $0x5f,-0x1f(%rbp) 40069a: c6 45 d1 44 movb $0x44,-0x2f(%rbp) 40069e: c6 45 ed 00 movb $0x0,-0x13(%rbp) 4006a2: 48 8b 45 f8 mov -0x8(%rbp),%rax }}} デバッガで4006a2で止めてメモリを覗き見る。 {{{ (gdb) b *0x4006a2 (gdb) r password: abc Breakpoint 1, 0x00000000004006a2 in main () (gdb) printf "%s\n", $rbp-0x30 ADCTF_7H15_15_7oO_345y_FOR_M3 }}}