0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

虛擬機:程序在指定地址運行的步驟

如意 ? 來源:CSDN ? 作者:Peter盼 ? 2020-06-29 09:45 ? 次閱讀

我們知道程序在每次運行的時候地址都是不一樣的,linux之所以有這樣的設(shè)計也許是為了安全性考慮,不利于黑客的攻擊。

我們看一個簡單的程序:

虛擬機:程序在指定地址運行的步驟

虛擬機:程序在指定地址運行的步驟

顯然程序每次運行的地址都不一樣!

那么有沒有辦法讓相同程序每次運行的地址都一樣呢?

看到這里你也許會問為什么讓程序每次運行的地址都一樣,這不違背OS設(shè)計的初衷了嗎?是的,這的確違背 linux 內(nèi)核設(shè)計的初衷。但是實際項目中難免不會遇到奇葩的需求,比如有些app由于歷史的原因需要運行在指定地址上,那這時候就需要把地址空間隨機化關(guān)掉。再比如遇到隨機地址crash問題也可以用這種方法debug。

廢話少說,我們看下地址空間隨機化關(guān)掉的方法。

虛擬機:程序在指定地址運行的步驟

關(guān)掉后我們看下該程序的測試結(jié)果:

虛擬機:程序在指定地址運行的步驟

哇!地址一樣!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208482
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3747

    瀏覽量

    80669
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    897

    瀏覽量

    27969
收藏 人收藏

    評論

    相關(guān)推薦

    虛擬機下載與安裝的步驟有哪些

    是一種將計算機硬件虛擬化的技術(shù),它可以一臺物理計算機上創(chuàng)建一個或多個獨立的虛擬計算機,每個虛擬計算機都有自己的操作系統(tǒng)和應(yīng)用程序,并且獨立
    的頭像 發(fā)表于 09-04 10:16 ?1339次閱讀
    <b class='flag-5'>虛擬機</b>下載與安裝的<b class='flag-5'>步驟</b>有哪些

    提升VMware虛擬機運行速度的方法

    使用虛擬機運行Linux操作系統(tǒng)通常會比物理機上直接安裝系統(tǒng)的運行效率更低,本篇博文將介紹如何優(yōu)化虛擬機的設(shè)置,進而提升虛擬機性能體驗。
    的頭像 發(fā)表于 12-29 16:33 ?4989次閱讀
    提升VMware<b class='flag-5'>虛擬機運行</b>速度的方法

    創(chuàng)建ubuntu虛擬機

    的存在形式,然后點擊“下一步”完成。指定磁盤文件,這里默認即可。默認點擊“完成”即可。至此,虛擬機創(chuàng)建完成。下一小節(jié)中我們介紹Ubuntu系統(tǒng)虛擬機中的安裝,其
    發(fā)表于 08-10 14:15

    虛擬機及Ubuntu安裝步驟介紹

    Mini板一些概念虛擬機:相當(dāng)于將你的電腦的分離出部分資源虛擬出另一臺電腦Ubuntu:可以運行Linux的操作系統(tǒng)虛擬機及Ubuntu安裝步驟
    發(fā)表于 12-15 08:58

    虛擬機:Ubuntu配置Android Studio的步驟

    虛擬機:Ubuntu配置Android Studio的步驟
    的頭像 發(fā)表于 06-22 09:43 ?2747次閱讀

    虛擬機:Ubuntu配置gitweb的步驟

    虛擬機:Ubuntu配置gitweb的步驟
    的頭像 發(fā)表于 06-22 16:30 ?2555次閱讀
    <b class='flag-5'>虛擬機</b>:Ubuntu配置gitweb的<b class='flag-5'>步驟</b>

    虛擬機:Ubuntu安裝Nvidia驅(qū)動的步驟

    虛擬機:Ubuntu安裝Nvidia驅(qū)動的步驟
    的頭像 發(fā)表于 06-22 17:20 ?1.2w次閱讀
    <b class='flag-5'>虛擬機</b>:Ubuntu安裝Nvidia驅(qū)動的<b class='flag-5'>步驟</b>

    虛擬機:Ubuntu安裝搜狗拼音的步驟

    虛擬機:Ubuntu安裝搜狗拼音的步驟
    的頭像 發(fā)表于 06-23 09:08 ?2978次閱讀
    <b class='flag-5'>虛擬機</b>:Ubuntu安裝搜狗拼音的<b class='flag-5'>步驟</b>

    虛擬機:Linux查看線程信息的步驟

    虛擬機:Linux查看線程信息的步驟
    的頭像 發(fā)表于 06-24 08:41 ?3474次閱讀
    <b class='flag-5'>虛擬機</b>:Linux查看線程信息的<b class='flag-5'>步驟</b>

    虛擬機:CentOS 7安裝MySQL5.7的步驟

    虛擬機:CentOS 7安裝MySQL5.7的步驟
    的頭像 發(fā)表于 07-02 18:00 ?3155次閱讀

    虛擬機linux怎么編寫程序

    虛擬機Linux上編寫程序,包括設(shè)置虛擬機、選擇編程工具、創(chuàng)建和編輯代碼、編譯和運行程序等等。讓我們開始吧! 第一部分:設(shè)置虛擬機
    的頭像 發(fā)表于 11-17 10:08 ?1509次閱讀

    linux虛擬機怎么運行代碼

    虛擬機中,你就可以開始運行代碼了。Linux中,有多種方式可以運行代碼,下面將介紹幾種常見的方法。 使用終端(Terminal)運行代碼
    的頭像 發(fā)表于 11-17 10:12 ?4502次閱讀

    虛擬機如何運行c程序

    虛擬機(Virtual Machine,VM)是一種模擬了物理計算機的軟件,可以計算機上創(chuàng)建虛擬的硬件平臺,使得用戶可以在其中運行操作系統(tǒng)和應(yīng)用
    的頭像 發(fā)表于 11-17 10:14 ?4407次閱讀

    怎么安裝linux虛擬機

    計算機領(lǐng)域,虛擬機是一種軟件程序,它允許主操作系統(tǒng)上運行多個虛擬操作系統(tǒng)。Linux
    的頭像 發(fā)表于 11-23 10:50 ?997次閱讀

    虛擬機的ip地址和主機一樣嗎

    虛擬機的ip地址和主機一樣嗎? 虛擬機的IP地址和主機的IP地址通常不相同。虛擬機
    的頭像 發(fā)表于 03-26 15:34 ?4332次閱讀