Underword

地底世界
专注挖洞不填坑
  1. 首页
  2. 编程
  3. 开发
  4. 正文

GCC编译中几种保护打开和关闭的参数

2020年11月11日 216点热度 0人点赞 0条评论

在出PWN的题,记录一下怎么编译

NX

指令 翻译
-z execstack 可以执行栈上的数据
-z noexecstack 不让执行栈上的数据,于是JMP ESP就不能用了

Canary

指令 翻译
-fno-stack-protector 关闭栈溢出检测
-fstack-protector 仅为char类型开启栈溢出检测
-fstack-protector-all 为所有类型开启栈溢出检测

检测方法

在入栈前保存一个随机数
在返回前比对现在的随机数和保存的随机数
如果不一样就退出程序并报错

PIE

指令 翻译
-no-pie 关闭PIE(每个函数地址固定)
-pie 开启PIE(每个函数地址随机)

RELRO

指令 翻译
-z norelro 关闭RELRO,对GOT表具有写权限
-z lazy 部分开启RELRO
-z now 完全开启RELRO,对GOT表没用写权限
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: GCC
最后更新:2020年12月4日

Kami

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

LPLaser

带二学生

最新 热点 随机
最新 热点 随机
Numpy中矩阵的切片方法 让Selenium基于Edge执行自动化测试 cookie2json - 将cookie字符串转为Json的便捷工具 Python格式化字符常量 - 更酷的格式化字符串 SpaceSniffer - 了解你的磁盘空间构成 UltraRAMDisk - 虚拟光驱和内存盘创建软件
Python格式化字符常量 - 更酷的格式化字符串cookie2json - 将cookie字符串转为Json的便捷工具让Selenium基于Edge执行自动化测试Numpy中矩阵的切片方法
Blender或3Dmax导入UE4时模型法线相反(朝内显示) Unity ECS - Entity的父子关系 (实现类似传统模式GameObject的transform.parent) 在Typecho的文章中添加Html标签 GCC编译中几种保护打开和关闭的参数 Cisco - 关于基于IPsec的Site To Site VPN 的搭建 Unity ECS - 用纯代码创建一个Cube
分类目录
  • Alpine
  • C#
  • CentOS
  • Cisco
  • Docker
  • Gradle
  • PHP
  • Podman
  • Python
  • Unity
  • Windows
  • 博客
  • 建模
  • 开发
  • 杂项
  • 比赛
  • 游戏分享
  • 游戏破解
  • 软件分享
标签聚合
Docker Gradle python Windows ECS typecho 游戏破解 Unity

COPYRIGHT © 2020 Underword. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

沪ICP备2020032896号-1