标签:基础上 指针 info can get pac table 编译环境 top
完善gcc编译环境
Apt-get install gcc-multilib
? ?
-static | 静态编译 |
-z execstack | 关闭栈不可执行保护 |
-m32 | 生成32位程序 |
-fno-stack-protector | 不开启堆栈溢出保护,即不生成canary |
-mpreferred-stack-boundary=4 | 影响二进制文件中生成的代码,将堆栈指针对齐在四字节的边界上 |
-no-pie | 关闭pie以避免基地址被打乱 |
还需要系统开启ASLR才会真正打乱基地址
/proc/sys/kernel/randomize_va_space
0 | 关闭ASLR,没有随机化 | 堆栈.so的基地址每次相同 |
1 | 普通ASLR | 栈基地址、mmap基地址、.so加载基地址都被随机化,但是堆地址没有被随机化 |
2 | 增强ASLR | 在1的基础上增加了堆地址随机化 |
? ?
? ?
使用checksec工具检查编译出的文件
标签:基础上 指针 info can get pac table 编译环境 top
原文地址:https://www.cnblogs.com/da1sy/p/12301848.html