我们知道程序在每次运行的时候地址都是不一样的,linux之所以有这样的设计也许是为了安全性考虑,不利于黑客的攻击。
我们看一个简单的程序:
显然程序每次运行的地址都不一样!
那么有没有办法让相同程序每次运行的地址都一样呢?
看到这里你也许会问为什么让程序每次运行的地址都一样,这不违背OS设计的初衷了吗?是的,这的确违背 linux 内核设计的初衷。但是实际项目中难免不会遇到奇葩的需求,比如有些app由于历史的原因需要运行在指定地址上,那这时候就需要把地址空间随机化关掉。再比如遇到随机地址crash问题也可以用这种方法debug。
废话少说,我们看下地址空间随机化关掉的方法。
关掉后我们看下该程序的测试结果:
哇!地址一样!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
87文章
10986浏览量
206723 -
程序
+关注
关注
114文章
3630浏览量
79525 -
虚拟机
+关注
关注
1文章
854浏览量
27366
发布评论请先 登录
相关推荐
MYZR虚拟机功能演示
ncurses-dev1.3常用功能演示1.3.1在Windows与虚拟机系统之间复制文件安装并配置开发环境安装并运行虚拟机系统建议使用我们提供的虚
发表于 12-27 15:04
超详细Dkhadoop虚拟机图文安装步骤
。 虚拟机的安装1、详细安装步骤:(1)在配置类型选项中,我们选择自定义(高级),选择好之后点击“下一步” 图1(2)虚拟机的硬件兼容性设置页面,参考下图设置好之后点击“下一步”; 图
发表于 01-07 15:57
虚拟机及Ubuntu安装步骤介绍
Mini板一些概念虚拟机:相当于将你的电脑的分离出部分资源虚拟出另一台电脑Ubuntu:可以运行Linux的操作系统虚拟机及Ubuntu安装步骤
发表于 12-15 08:58
如何创建虚拟机?
实战开发--开发环境安装(五)1、下载软件vmware和ubuntu-20.04.1-desktop-amd64.iso2、创建虚拟机完整步骤3、安装嵌入式linux所需的工具包4、安装vmware tool,实现虚拟机与物理主
发表于 12-16 07:45
linux虚拟机怎么运行代码
运行代码是Linux虚拟机中的常见操作,本文将详细介绍如何运行代码。 首先,要运行代码,你需要先安装好Linux虚拟机,并确保能够顺利
虚拟机如何运行c程序
虚拟机(Virtual Machine,VM)是一种模拟了物理计算机的软件,可以在计算机上创建虚拟的硬件平台,使得用户可以在其中运行操作系统和应用程序。在
评论