remote("ip", port)
process("./bin")
EFL("./bin")
efl.bss()
context.log_level='DEBUG'
gdb.attach(p)
send(payload) 发送payload
sendline(payload) 发送payload,并进行换行(末尾\n)
sendafter(some_string, payload) 接收到 some_string 后, 发送你的 payload
recv(numb = 2048, timeout = dufault) 接受数据,numb指定接收的字节,timeout指定超时
recvline(keepends=True) 接受一行数据,keepends为是否保留行尾的\n
recvuntil("Hello,World\n",drop=fasle) 接受数据直到我们设置的标志出现
recvall() 一直接收直到EOF
recvrepeat(timeout = default) 持续接受直到EOF或timeout
symbols['a_function'] 找到 a_function 的地址
got['a_function'] 找到 a_function的 got
plt['a_function'] 找到 a_function 的 plt
next(e.search("/bin/sh")) 找到包含 some_characters(字符串,汇编代码或者某个数值)的地址.
libc=LibcSearcher("func",func_addr) 根据func查找libc版本
Libc.dump("func") 在libc中找到func的地址
p32()/u32()
p64()/u64()
asm(shellcraft.sh()) shellcode
int(xxx,base=10) 将xxx转换为10进制
interactive()