iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

現在時間:Mon, Sep 18, 2023 6:03 AM,

我還沒睡覺!

都是 windows 更新害的...


接續昨... 接續 12 個小時之前,我們說到 ELF 文件,ELF 文件中將程式分為許多不同的段(segment),每個 segment 都有特定的屬性和用途,其中比較重要的幾個段分別為:

  • .text 段:儲存可執行程式碼。
  • .data 段:儲存已初始化的資料。
  • .bss 段:儲存未初始化的資料。

我們用以下的例子跟大家說明

int a;                // .bss
int b = 3;            // .data

int main(void) {      //  
    func(a,b);        // .text 
    return 0;         //
}                     //   

將程式分段其中一個原因,是為了將程式載入記憶體時可以有效的管理,並且可以依據不同區域設置不同權限(可讀、可寫、可執行)。
程式載入記憶體後,記憶體的配置如下:

低地址
==========================
|    .text (程式碼)       |    //r-x
--------------------------
|    .data (已初始化資料)  |    //rw-
--------------------------
|    .bss (未初始化資料)   |    //rw-
--------------------------
|        ↓ Heap           |   //rw-
--------------------------
|        ↓                |
--------------------------
|                         |
--------------------------
|                         |
--------------------------
|        ↑                |
--------------------------
|        ↑ Stack          |   //rw-
===========================
高地址

我們可以看到 Heap 以及 Stack 區域,這兩個部分在程式開始執行後,才會隨著執行過程中填入資料,也通常是最能 Pwn 的地方,至於原因,因為已經超過 300 字很多了,明天再說。


不過在怎麼累還是要持之以恆寫個正文

什錦大雜燴


source:每日頭條
所謂的什錦大雜燴就是 什錦 大雜燴,謝謝大家


上一篇
Day2 大雜燴之五侯雜燴 - Pwn:Basic(1)
下一篇
Day4 大雜燴之鮑魚熊掌 - 工控:OT 環境
系列文
雜七雜八大雜燴,資安技術大亂鬥30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言