以前看雪發的老貼,挪一波。。。
**:
檔案
#pragma once
class pereadwrite
;
cpp檔案
**:
檔案
#include "stdafx.h"
#include "pereadwrite.h"
#include "windows.h"
//預設建構函式
pereadwrite::pereadwrite(){}
bool pereadwrite::loadfile(cstring filepath)
//建立記憶體對映檔案
//把檔案映像存入pbaseaddr
return
true;
}//返回載入位址
dword pereadwrite::getbaseaddr()
//獲取nt頭
image_nt_headers* pereadwrite::getntheader()
//獲取dos頭
image_dos_header* pereadwrite::getdosheader()
//獲取節表起始
image_section_header* pereadwrite::getsectionstart()
//獲取匯入表
image_import_descriptor* pereadwrite::getimport()
//獲取匯出表
image_export_directory* pereadwrite::getexport()
//獲取重定位
image_base_relocation* pereadwrite::getrelocation()
//獲取資源表
image_resource_directory *pereadwrite::getresource()
//計算 rvatova
dword pereadwrite::rvatova(dword rva)
return0;}
//清除記憶體對映和關閉檔案
void pereadwrite::unfile()
if (hfile!=null) }
//驗證是否是pe檔案
bool pereadwrite::ispefile()
if (getntheader()->signature != image_nt_signature)
return
true;
}
PE檔案詳解之PE檔案頭
1,pe檔案頭 pe header 緊挨著 dos stub 2,pe header 是pe相關結構nt映像頭 image nt header 的簡稱。裡面包含著許多pe裝載器用到的重要字段。3,執行體在支援pe檔案結構的作業系統中執行時,pe裝載器將從 image dos header 結構中的 ...
PE檔案詳解之PE檔案頭
1,pe檔案頭 pe header 緊挨著 dos stub 2,pe header 是pe相關結構nt映像頭 image nt header 的簡稱。裡面包含著許多pe裝載器用到的重要字段。3,執行體在支援pe檔案結構的作業系統中執行時,pe裝載器將從 image dos header 結構中的 ...
PE檔案結構
pe檔案結構 a,dos header timagedosheader 其中 lfanew 指向 c e magic 為 mz b,dos stub 用於不支援pe的作業系統,顯示錯誤提示如 this program requires windows 不定長 c,pe header timagent...