pe的組成
image_dos_header (64bytes) +0x3c定位pe標誌
stub(填充區域)
image_nt_headers32(4+20+224 = 248bytes)
pe標誌 dword 4bytes
image_file_header(20bytes)
+0x00 machine word
+0x02 numberofsections word
+0x10 sizeofoptionalheader word 32bit---e0 64bit---f0
+0x12 characteristics word exe(010f) dll(2102)
image_optional_header32(224bytes)
+0x00 magic word pe32(010b) pe32+(020b 64位pe)
+0x02 majorlinkerversion byte
+0x03 minorlinkerversion byte
+0x04 sizeofcode dword 所有**區塊的大小
+0x10 addressofentrypoint dword(pe + 0x28 2行半 rva + base = oep)程式執行入口
+0x14 baseofcode dword(rva pe + 0x2c)**區塊起始rva
+0x18 baseofdata dword(rva pe + 0x30)資料區塊起始rva
+0x1c imagebase dword 程式預設載入基位址 pe標誌3行第二個4位元組對應的值
+0x20 sectionalignment dword 記憶體對齊值
+0x24 filealignment dword 檔案對齊值
+0x38 sizeofimage dword 映像載入記憶體後的總大小
+0x3c sizeofheaders dword dos頭+pe檔案頭+區塊表的大小
image_data_directory(16 * 8 = 128bytes)
+0x00 dword rva 資料塊的起始rva
+0x04 dword size
image_section_header (40bytes 2行半)
+0x00 name bytes[8] 區塊名字
+0x08 virtualsize dword 區塊的尺寸
+0x0c virtualaddress dword 區塊的rva
+0x10 sizeofrawdata dword 在檔案中對齊後的尺寸
+0x14 pointertorawdata dword 在檔案中的偏移
+0x24 characteristics dword 區塊屬性
PE知識複習之PE的節表
確定節表位置 dos nt頭下面就是節表.確定節表數量 節表數量在檔案頭中存放著.可以準確知道節表有多少個.節表是乙個結構體陣列.沒乙個節表表示了資料在哪,怎麼儲存.下方是節的結構體 typedef struct image section header misc dword virtualaddr...
PE知識複習之PE的兩種狀態
從下面依次網上看.可以得出pe結構 其中dos頭有dos頭結構 也就是 image dos header 關於結構體的各項屬性.前邊已經寫過了.本系列部落格就是加深pe印象.理解複雜的原理.image dos header 大小 64個位元組 十六進製制 0x40位元組 image file hea...
偷的些許閒
好不容易盼到週末了,又要替系裡做幻燈片了,這個週末將不屬於自己。還好,沒有上次殘忍,半夜十二點多做完,然後檔案消失,欲哭無淚。沒有經驗,做完後不知道儲存,只能用這個算不上理由的理由調節自己。幸好我這株蘆葦夠堅韌,在最短時間內將消失的那部分補救過來。女老師還是狠一些,布置任務沒有一絲人性,恨不得將所有...