解决了第一个问题后
来到phase_2
gdb bomb
disas phase_2
输入仍然是input 在 rdi中
然后开了40字节的缓冲区
接着把栈头地址丢给rsi
调用read_six_number 顾名思义但是我们还是看看
disas read_six_numbers
在read_six_numbsers中我们看到
考虑到sscanf 的第三个参数是我们的输入所以rsi 放入到rdx中
看下
x/s 0x4025c3
“%d %d %d %d %d %d”是sscanf的第二参数
作为sscanf的第二个参数esi接受了输入 并且最后判断是否是否大于 5
在phase_2中调用read_six_numbsers后打断点
b *0x400f0a