windowspe文件格式
windowspe文件格式
PE文件內容被分割為不同的區段(Section),每一區段中可能包含代碼或數據。各區段按頁邊界對齊,區段沒有大小限制,是一個連續結構。每一個區段在內存中都有它自己的一套屬性,比如:這個區段是否包含代碼、是否只讀或可讀/寫等。每一個區段都有不同的名字,這個名字用來表示區段的功能。例如。.text 是在編譯或匯編結束時產生的一種塊,它的內容全是指令代碼。.rdata 是運行期只讀數據。.data 是初始化的數據塊。.idata 包含其它外來DLL的函數及數據信息,即導入表。.rsrc 包含模塊的全部資源,如圖標、菜單、位圖、對話框等。Note:使用區段名只是方便人們使用,而對操作系統來說是無關緊要的,因此可將上面區段名任意更改而不會影響PE文件執行。
導讀PE文件內容被分割為不同的區段(Section),每一區段中可能包含代碼或數據。各區段按頁邊界對齊,區段沒有大小限制,是一個連續結構。每一個區段在內存中都有它自己的一套屬性,比如:這個區段是否包含代碼、是否只讀或可讀/寫等。每一個區段都有不同的名字,這個名字用來表示區段的功能。例如。.text 是在編譯或匯編結束時產生的一種塊,它的內容全是指令代碼。.rdata 是運行期只讀數據。.data 是初始化的數據塊。.idata 包含其它外來DLL的函數及數據信息,即導入表。.rsrc 包含模塊的全部資源,如圖標、菜單、位圖、對話框等。Note:使用區段名只是方便人們使用,而對操作系統來說是無關緊要的,因此可將上面區段名任意更改而不會影響PE文件執行。
![](https://img.51dongshi.com/20250108/wz/18378547652.jpg)
windowspe文件格式(windows pe文件格式)PE文件格式應用于所有32位Windows系統:Windows 9X, Windows NT,Windows 2000及Windows XP(Vista已經對PE格式進行了升級,也出現了PE64),而在MSDN 98中有PE的大量詳細資料(按目錄:MSDN Library Visual Studio 6.0 | Specification | Platforms | Microsoft Portable Executable and Common Object File Format Specification)。PE文件內容被分割為不同的區段(Section),每一區段中可能包含代碼或數據。各區段按頁邊界對齊,區段沒有大小限制,是一個連續結構。每一個區段在內存中都有它自己的一套屬性,比如:這個區段是否包含代碼、是否只讀或可讀/寫等。每一個區段都有不同的名字,這個名字用來表示區段的功能。例如:.text 是在編譯或匯編結束時產生的一種塊,它的內容全是指令代碼;.rdata 是運行期只讀數據;.data 是初始化的數據塊;.idata 包含其它外來DLL的函數及數據信息,即導入表;.rsrc 包含模塊的全部資源,如圖標、菜單、位圖、對話框等。Note:使用區段名只是方便人們使用,而對操作系統來說是無關緊要的,因此可將上面區段名任意更改而不會影響PE文件執行。 PE文件非常好的一個特性是其在磁盤上的數據結構與在內存中的結構是一致的。在X86系統中,每個內存頁大小為4KB(即0x1000字節)。所以,在X86系統中,PE文件區段(Section)的內存對齊值一般是0x1000,在內存中的每個區段的起始地址為0x1000的倍數。而磁盤PE文件對齊值一般為0x200(即512字節,扇區塊大小),所以PE文件中每個區段的起始地址為0x200的倍數。在磁盤PE文件中,區段間的間隙用0x00來填充。由于PE文件在磁盤和在內存中的對齊值不同,所以往往所占用的空間也不相同(在內存中往往占用更多空間)。磁盤上的PE文件和加載進內存中的PE文件比較圖如下:VC編譯器默認編譯時,exe文件基地址(ImageBase)是0x00400000,DLL文件基地址是0x10000000,可以在鏈接時使用/BASE參數來改變基址。我們可以利用一些現成的工具來直觀地查看PE文件內容和結構,加深對PE文件格式的理解。這樣的工具有:LordPE、PEditor、Stud_PE等。
windowspe文件格式
PE文件內容被分割為不同的區段(Section),每一區段中可能包含代碼或數據。各區段按頁邊界對齊,區段沒有大小限制,是一個連續結構。每一個區段在內存中都有它自己的一套屬性,比如:這個區段是否包含代碼、是否只讀或可讀/寫等。每一個區段都有不同的名字,這個名字用來表示區段的功能。例如。.text 是在編譯或匯編結束時產生的一種塊,它的內容全是指令代碼。.rdata 是運行期只讀數據。.data 是初始化的數據塊。.idata 包含其它外來DLL的函數及數據信息,即導入表。.rsrc 包含模塊的全部資源,如圖標、菜單、位圖、對話框等。Note:使用區段名只是方便人們使用,而對操作系統來說是無關緊要的,因此可將上面區段名任意更改而不會影響PE文件執行。
為你推薦