一步一步学ROP之linux_x86之学习笔记

read()函数:ssize_t read [1] (int fd, void *buf, size_t count);从fd指针指向文件读取count字节保存在buf中。

write()函数:ssize_t write(int fd, const void *buf, size_t nbyte);向fd指针指向文件中写入从buf读取size长度字节的长度的字符。

STDIN_FILENO从键盘中输入

STDOUT_FILENO向屏幕输出

-fno-stack-protector 关闭DEP(堆栈不可执行)

-z execstack 关闭栈保护

echo 0  > /proc/sys/kernel/randomize_va_space 关闭内存地址随机化

产生core dump文件

ulimit -c unlimited

sudo sh -c 'echo "/tmp/core.%t" > /proc/sys/kernel/core_patter'

core文件(我简单认为)是产生BUG的文件

sudo cat /proc/[pid[/maps 查看进程

/bin/sh存在与libc.so中

plt地址为got表地址,got表地址为函数真正的地址

objdump -d -j .plt 文件名 查看plt地址

objdump -R 文件名 查看got表地址

ldd 文件名 查看so文件

readelf -S 文件名 查看bss段的地址

你可能感兴趣的:(一步一步学ROP之linux_x86之学习笔记)