First
1 2 3 4
| libc=ELF('./libc-2.27.so') libcbase=puts_addr-libc.sym['puts'] system_addr=libcbase+ libc.sym['system'] shell_addr=libcbase+next(libc.search(b'bin/sh'))
|
Second
1 2 3 4
| libc=LibcSearcher("puts",puts_addr) libcbase=puts_addr-libc.dump("puts") system_addr=libc_base+libc.dump('system') bin_addr=libc_base+libc.dump('str_bin_sh')
|
在ida中不用这些看地址。
首先是read_got。可以在IDA中通过按ctrl+s跳转到不同的段。先看got表,也就是对应的.got.plt(而非.got)