現在時間:Mon, Sep 18, 2023 6:03 AM,
都是 windows 更新害的...
接續昨... 接續 12 個小時之前,我們說到 ELF 文件,ELF 文件中將程式分為許多不同的段(segment),每個 segment 都有特定的屬性和用途,其中比較重要的幾個段分別為:
我們用以下的例子跟大家說明
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:每日頭條
所謂的什錦大雜燴就是 什錦 大雜燴,謝謝大家