2021 01 12 標準PE頭屬性說明

2021-10-14 15:17:00 字數 1821 閱讀 6734

typedef struct _image_nt_headers  image_nt_headers32, *pimage_nt_headers32;
成員

大小(十進位制)

signature

4位元組image_file_header

20位元組

image_optional_header32

224位元組

pe標識不能被破壞,作業系統在啟動乙個程式的時候會檢測這個標識。

typedef struct _image_file_header  image_file_header, *pimage_file_header;
成員

大小(十進位制)

machine

2位元組numberofsections

2位元組timedatestamp

4位元組pointertosymboltable

4位元組numberofsymbols

4位元組sizeofoptionalheader

2位元組characteristics

2位元組image_file_header->characteristics(檔案屬性)

資料位常量符號

為1時的含義

0image_file_relocs_stripped

檔案中不存在重定位資訊

1image_file_executable_image

檔案是可執行的

2image_file_line_nums_stripped

不存在行資訊

3image_file_local_syms_stripped

不存在符號資訊

4image_file_aggressvie_ws_trim

調整工作集

5image_file_large_address_aware

應用程式可處理大於2gb的位址

6此標誌保留

7image_file_bytes_reversed_lo

小尾方式

8image_file_32bit_machine

只在32位平台執行

9image_file_debug_stripped

不包含除錯資訊

10image_file_removable_run_from_swap

不能從可移動磁碟執行

11image_file_net_run_from_swap

不能從網路執行

12image_file_system

系統檔案(如驅動程式),不能直接執行

13image_file_dll

dll檔案

14image_file_up_system_only

檔案不能在多處理器計算機上執行

15image_file_bytes_reversed_hi

大尾方式

如上圖所示,characteristics 為 0f 01,由於是小端儲存所以是 01 0f。

01 0f 轉換為二進位制:0000 0001 0000 1111。

轉換為二進位制後總共16位,對比上面的**可以知道代表了什麼含義,表示了哪些檔案屬性。

對比如下:

2021 01 13 擴充套件PE頭屬性說明

32位和64位pe頭結構體有點差異,但是差異不是很大。typedef struct image nt headers image nt headers32,pimage nt headers32 typedef struct image nt headers64 image nt headers64...

PE頭結構學習 PE頭移位

剛開始學pe結構的時候,是為了搞 xx的,那時瑞星和江民還有希望,那時卡飯論壇還常駐各個防毒軟體廠商的工程師,想想還有些懷念,初中基本啥也不懂,就上論壇看別人是怎麼搞的,有一次看到乙個免殺技術叫pe頭移位,後來這個技術也用了蠻久。剛好現在上了作業系統這門課,作業就是要研究下pe結構,所以就以pe頭移...

PE檔案結構(一) MS DOS頭 ,PE頭

ms dos頭 標準pe頭 擴充套件pe頭 資料目錄 節表各個欄位的含義 第乙個字段 mz標誌位 e magic 是乙個常量,一般都是0x4d5a 最後乙個字段 pe頭偏移 e ifanew 指向新的pe頭,偏移量為0x0138 位於0x0138 typedef struct image nt he...