Canary相关 发表于 2024-10-08 Canarycanary位置的前一位正前方往往是/x00,为printf以及puts输出读取的最后界限(读到此为止)。所以要多一个覆盖,但这会导致输出的canary最后一位被覆盖,所以要在读数的基础上减去该数的hex形式 canary末尾字节必为00 canary=u64(p.recv(7).rjust(8,b’\x00’)) 接受前七字节的地址,末尾用00补全。 p64覆盖rbp要跟返回地址,不能直接进后门函数。