上次講到dos現在講下緊跟在dos頭部後面的pe頭:
pe頭對映的是image_nt_header結構,裡面包含pe裝載器用到的重要字段
下圖是image_nt_header結構體原型有三個成員:
signature欄位:在乙個有效的pe檔案裡,signature欄位被設定為'00 00 45 50',ascii碼字元是『pe00』。標誌著pe檔案頭的開始:
image_fele_header也是乙個結構體:
machine成員 下圖'01 4c'說明了可執行檔案目標cpu型別:
machine:
0x014c x86
0x0200 intel itanium
0x8664 x64
numberofsections成員 下圖'00 08'說明了區塊的數目,這裡說明區塊數目為8:
timedatestamp成員 下圖'2a 42 5e 19'說明了檔案的建立時間,是以格林威治時間1970,1,1開始計算按秒:
下邊說明名了這七個成員的記憶體中偏移位置:
sizeofoptionalheader成員:ofoptionalheader資料結構的大小;對於32位pe檔案,這個值通常是'00 e0';對於64位這個pe32+檔案,這個值是『00 f0』
image_iptional_header32結構:在image_fele_header這個結構體上加了很多東西
typedef struct_image_optional_header
image_optional_header32, *pimage_optional_header32;
解析PE檔案的附加資料
解析程式自己的附加資料,將附加資料寫入檔案中。主要是解析pe檔案頭,定位到overlay的地方,寫入檔案。常應用的場景是在crackme中,crackme自身有一段加密過的附加資料,在crackme執行的過程中解析自己的附加資料,然後解密這段資料。留存 解析自己的pe檔案 tchar szmodul...
解析PE檔案的附加資料
解析程式自己的附加資料,將附加資料寫入檔案裡。主要是解析pe檔案頭。定位到overlay的地方。寫入檔案。常應用的場景是在crackme中,crackme自身有一段加密過的附加資料。在crackme執行的過程中解析自己的附加資料,然後解密這段資料。留存 解析自己的pe檔案 tchar szmodul...
18 2 5 SHTTPD頭部解析的分析設計
請求的格式如下 主要包含方法 uri 的版本,目前 伺服器所支援的方法僅為 get,因為 get方法可以滿足大部分的 web應用。的版本,可以取值為 0.9 1.0或者 1.1。可以用如下方法獲得 版本的主版本號和次版本號。其中p為http 版本的頭部指標,例如指向 字串的頭部,major 內為主版...