456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > IT知識庫 >

IT系統運維-PE文件結構


2020-05-01 17:37 作者:艾銻無限 瀏覽量:
在Windows系統運維中,對各種文件結構必須有個清晰的了解。其中PE文件結構是我們系統運維必須要了解的結構體。PE(Portable Executable:可移植的執行體)是Win32環境自身所帶的可執行文件格式。它的一些特性繼承自Unix的Coff(Common Object File Format)文件格式。可移植的執行體意味著此文件格式是跨win32平臺的,即使Windows運行在非Intel的CPU上,任何win32平臺的PE裝載器都能識別和使用該文件格式。當然,移植到不同的CPU上PE執行體必然得有一些改變。除VxD和16位的Dll外,所有 win32執行文件都使用PE文件格式。因此,研究PE文件格式是我們洞悉Windows結構的良機。

文件結構

圖表結構:


 

 
DOS頭是用來兼容MS-DOS操作系統的

NT頭包含windows PE文件的主要信息

節表:是PE文件后續節的描述

節:每個節實際上是一個容器,可以包含代碼、數據等等,每個節可以有獨立的內存權限,比如代碼節默認有讀/執行權限,節的名字和數量可以自己定義

文件地址

1、PE文件在硬盤上和在內存里是不完全一樣的,被加載到內存以后其占用的虛擬地址空間要比在硬盤上占用的空間大一些,這是因為各個節在硬盤上是連續的,而在內存中是按頁對齊的。

2、PE結構內部,表示某個位置的地址采用了兩種方式,針對在硬盤上存儲文件中的地址,稱為原始存儲地址或物理地址表示距離文件頭的偏移;另外一種是針對加載到內存以后映象中的地址,稱為相對虛擬地址(RVA),表
示相對內存映象頭的偏移。

3、CPU的某些指令是需要使用絕對地址的,比如取全局變量的地址,傳遞函數的地址編譯以后的匯編指令中肯定需要用到絕對地址而不是相對映象頭的偏移,因此PE文件會建議操作系統將其加載到某個內存地址(這個叫基地
址),這種表示方式叫做虛擬地址(VA)

4、PE文件無法加載到預期的地址,那么系統會幫他重新選擇一個合適的基地址將他加載到此處,這時原有的VA就全部失效了,NT頭保存了PE文件加載所需的信息,在不知道PE會加載到哪個基地址之前,VA是無效的,所以在
PE文件頭中大部分是使用RVA來表示地址的

可執行文件頭

1、PE文件可以導出函數讓其他的PE文件使用,也可以從其他PE文件導入函數

2、PE文件通過導出表指明自己導出那些函數,通過導入表指明需要從哪些模塊導入哪些函數。

3、DOS頭和NT頭就是PE文件中兩個重要的文件頭

DOS頭

typedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header

    WORD   e_magic;                     // Magic number

    WORD   e_cblp;                      // Bytes on last page of file

    WORD   e_cp;                        // Pages in file

    WORD   e_crlc;                      // Relocations

    WORD   e_cparhdr;                   // Size of header in paragraphs

    WORD   e_minalloc;                  // Minimum extra paragraphs needed

    WORD   e_maxalloc;                  // Maximum extra paragraphs needed

    WORD   e_ss;                        // Initial (relative) SS value

    WORD   e_sp;                        // Initial SP value

    WORD   e_csum;                      // Checksum

    WORD   e_ip;                        // Initial IP value

    WORD   e_cs;                        // Initial (relative) CS value

    WORD   e_lfarlc;                    // File address of relocation table

    WORD   e_ovno;                      // Overlay number

    WORD   e_res[4];                    // Reserved words

    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)

    WORD   e_oeminfo;                   // OEM information; e_oemid specific

    WORD   e_res2[10];                  // Reserved words

    LONG   e_lfanew;                    // File address of new exe header

  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;


 

 
重點關注字段

e_magic:一個WORD類型,值是一個常數0x4D5A,用文本編輯器查看該值位‘MZ’,可執行文件必須都是'MZ'開頭。

e_lfanew:為32位可執行文件擴展的域,用來表示DOS頭之后的NT頭相對文件起始地址的偏移。

NT頭

typedef struct _IMAGE_NT_HEADERS {


    DWORD Signature;

    IMAGE_FILE_HEADER FileHeader;

    IMAGE_OPTIONAL_HEADER32 OptionalHeader;

} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;


 


 
Signature:類似于DOS頭中的e_magic,其高16位是0,低16是0x4550,用字符表示是'PE‘。
I
MAGE_FILE_HEADER是PE文件頭

typedef struct _IMAGE_FILE_HEADER {

    WORD    Machine;

    WORD    NumberOfSections;

    DWORD   TimeDateStamp;

    DWORD   PointerToSymbolTable;

    DWORD   NumberOfSymbols;

    WORD    SizeOfOptionalHeader;

    WORD    Characteristics;

} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

PE文件頭


 


 
Machine:該文件的運行平臺,是x86、x64還是I64

NumberOfSections:該PE文件中有多少個節,也就是節表中的項數。

TimeDateStamp:PE文件的創建時間,一般有連接器填寫。

PointerToSymbolTable:COFF文件符號表在文件中的偏移。

NumberOfSymbols:符號表的數量。

SizeOfOptionalHeader:緊隨其后的可選頭的大小。

Characteristics:可執行文件的屬性,可以是下面這些值按位相或。

PE導入表

IMAGE_DIRECTORY_ENTRY_IMPORT就是導入表,在PE文件加載時,會根據這個表里的內容加載依賴的DLL,并填充所需函數的地址IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT叫做綁定導入表,在第一種導入表導入
地址的修正是在PE加載時完成,如果一個PE文件導入的DLL或者函數多那么加載起來就會略顯的慢一些,所以出現了綁定導入,在加載以前就修正了導入表,這樣就會快一些。IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
叫做延遲導入表,一個PE文件也許提供了很多功能,也導入了很多其他DLL,但是并非每次加載都會用到它提供的所有功能,也不一定會用到它需要導入的所有DLL,因此延遲導入就出現了,只有在一個PE文件真正用到需要的
DLL,這個DLL才會被加載,甚至于只有真正使用某個導入函數,這個函數地址才會被修正。

IMAGE_DIRECTORY_ENTRY_IAT是導入地址表,前面的三個表其實是導入函數的描述,真正的函數地址是被填充在導入地址表中的。

裝載PE文件的主要步驟 

第一:當PE文件被執行,PE裝載器檢查DOS MZ header里的PE header偏移量。如果找到,則跳轉到PE header。

第二:PE裝載器檢查PE header的有效性。如果有效,就跳轉到PE header的尾部。

第三:緊跟PE header的是節表。PE裝載器讀取其中的節索引信息,并采用文件映射方法將這些節映射到內存,同時附上節表里指定的節屬性。

第四:PE文件映射入內存后,PE裝載器將處理PE文件中類似import table(引入表)邏輯部分。
 
艾銻無限科技專業:IT外包、企業外包北京IT外包、桌面運維、弱電工程、網站開發、wifi覆蓋方案,網絡外包,網絡管理服務,網管外包,綜合布線,服務器運維服務,中小企業it外包服務,服務器維保公司,硬件運維,網站運維服務
 
以上文章由北京艾銻無限科技發展有限公司整理

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 精品国产髙清在线看国产毛片_亚洲人午夜_美女扒开尿口给男人看_一级毛片片_亚洲日韩久久精品无码蜜桃臀_最新成人_欧洲丰满少妇做爰视频爽爽_国产在沙发上午睡被强 | 久久国产精品视频_色综合人人_国产网红主播精品一区_色综合精品久久久久久久_国产精品88久久久久久妇女_久久.com_午夜剧场大片亚洲欧洲一区_成人黄色777网 | 日本伦理一区_日本一区免费看_蜜臀人妻精品一区二区免费_涩涩一区二区_136av福利视频导航入口_在线观看热码亚洲av每日更新_国产精品一区91_一本一道久久a久久精品 | 国产妇女馒头高清泬20P多_久久精品666_欧美成人国产_91免费视_麻豆视频网站在线观看_日韩免费黄色片_666av视频导航_裸体女人高潮毛片扒开一一区 | 2018av天堂在线视频精品观看_特级毛片aaaa级毛片免费_免费观看久久久_免费视频一区二区_大地资源在线视频在线观看_欧洲少妇性喷潮_精品亚洲va在线va天堂资源站_国产免费一区二区三区播放 久久综合久久精品_人人妻人人澡人人爽人人精品AV_97久久夜色精品国产九色_老司机深夜福利视频_无码人妻精品1国产婷婷_china直男gay国产_色妹子综合网_最近最新中文第一页 | 老师粉嫩小泬喷水视频90_台湾毛片_9191网站_久久激情欧美_www.日本黄色_日韩爱爱片_91麻豆免费在线观看_欧美黑人肉体狂欢大派对 韩国女主播一区二区三区_亚洲综合色自拍一区_精品视频一区二区三区中文字幕_国产女人高潮抽搐叫床视频_jiujiure国产_97aⅰ内射白浆蜜桃精品_又硬又粗又大一区二区三区视频_亚洲永久免费 | 国产成年人在线_久久久www免费人成黑人精品_av免费在线不卡_天天做天天爱夜夜爽毛片_久久久亚洲一区二区三区_少妇毛片一区二区三区_99久久精品国产一区二区成人_99久久亚洲精品日本无码 | 国产一区在_国产真实乱免费高清视频_色香蕉久久_性欧美视频一区二区三区_亚洲资源av_又黄又爽又色视频_五十路熟女一区二区三区_午夜小视频免费 | 无码视频免费一区二三区_日韩片之四级片_色啪视频_久久蜜臀_狠狠天天_中文字幕在线播放不卡_一区二区三区视频在线观看_亚洲最大在线 | 美女视频三区_欧亚洲嫩模精品一区三区_91在线无码精品秘入口九色_成人精品动漫_男女真实毛片视频图片_日韩精品无码人妻一区二区三区_免费视频啪啪_亚洲高清揄拍自拍AV | 二级片免费_国产精品午夜久久久久久99热_久久av青久久久av三区三区_免费大片AV手机看片高清_久久精品AV无码夜色_欧美XXXX做受欧美69_久在线视频播放免费视频_国产日韩欧美一区 | 小老弟av影院_2023国产亚洲精品色爽无码_香蕉久久一区二区不卡无毒影院_中国GAY片男同志免费网站_国产亚洲精品女人久久久久久_国产做a爱一及毛片久久_日韩网站一区二区_久久精品无码观看TV | 国内精品女同女同一区二区三区_日韩处女网站_好男人在线社区www在线影院_国产福利资源_曰的好深好爽好紧的视频_午夜狠狠干_亚洲欧美最新_日本视频免费看 | 精品国产亚洲第一区二区三区_gay取精潮喷10次_日韩国产在线看_国产一区二区三区网_九七视频在线观看_日韩在线中文字幕视频_高清无码专区av_av网站大全在线观看 | 91av网站在线观看_奇米影音第四色_丰满少妇被猛烈进入高清播放软件_日日干夜_热99精品里视频精品_在线深夜视频_亚洲精品国产高清一线久久_在线啪啪 一区二区观看_欧美性受xxxx黑人猛交88_精品国产91亚洲一区二区三区婷婷_成人在线观看免费网站_中文字幕久久熟女蜜桃_九色精品国产_久久人人爽人人爽人人片av高请_公天天吃我奶躁我的在线观看 | 欧美人与动牲交免费观看_丝袜美女被遭强高潮网站_色欲天天天综合网_亚洲福利_久久三级影院_国产乱子伦在线观看免费_国产精品成人一区二区_久久久日韩精品一区二区 | 国产又大又硬又粗_黄色一级片免费看_成年女人免费视频播放人_日日噜噜噜夜夜爽爽狠狠视频97_国产精品第100页_在线免费观看h视频_秀人顶级模特尤妮丝的最新视频_中文字幕在线观看亚洲日韩 | 國產精品倫一區二區三級視頻_唐人街探案1免费播放_国产精品人妻99一区二区_在线精品国产一区二区三区_国产精品乱人伦_爽到憋不住潮喷大喷水视频在线_人妻激情偷乱视频一区二区三区_国产51人人成人人人人爽色哟哟 | 久久亚洲色WWW成人_无码国内精品久久人_国产精品亚洲片在线观看不卡_亚洲狠狠婷婷久久久四季av_国产原厂视频在线观看_成人国产精品免费观看视频_国产精品一区二区在线蜜芽TV_131mm亚洲国产精品久久 | 小姨在线_亚洲V国产V天堂A无码二区_囯产精品久久久久久久久久妞妞_国产三级欧美三级_日韩一区二区国产_一级黄色免费观看_免费做人爱高潮1000视频_国产情侣无套精品视频 | 日日插夜夜爽_另类一区_日本伊人精品一区二区三区观看方式_婷婷精品进入_成人软件在线观看_大地资源在线观看免费高清动漫_成人黄色av片_毛片一级 | 久久免费视频国产_一级毛片短视频_国产黄片av毛片系列_91青青_91ts人妖另类精品系列_婷婷丁香色综合狠狠色_最新中文字幕一区二区三区_国产一区二区精品在线观看 | 日本免费一区二区在线观看_亚洲无码专区三区在线观看_国产成人精品久久二区二区_av天堂精品久久久久_伊波拉病毒在线观看超清国语_国产一区二区三区_JIZZ成熟丰满韩国女人少妇_亚洲精品成人片在线观看 | 国产一区在_国产真实乱免费高清视频_色香蕉久久_性欧美视频一区二区三区_亚洲资源av_又黄又爽又色视频_五十路熟女一区二区三区_午夜小视频免费 | 91一二区_九九视频精品全部免费播放_久久久久亚洲精品无码网址蜜桃_久久夜色精品国产亚洲_久久福利社_国产精品黑人_h视频在线观看免费_日本一区二区免费高清视频 | 毛片毛片毛片毛片毛片毛片_在线观看片免费人成视频播放_91爱插插_中文字幕一综合88久久_国产香港明星裸体XXXX视频_亚洲地区天堂网_午夜影片_超碰97zyz | 国产中文字幕在线看_日韩av一区二区在线观看_国产日韩三级_91久久_中文字幕精品久久一区二区三区_夜夜撸网站_日韩精品一区二区三区水蜜桃_一本色综合久久 日韩第一页在线观看_看av在线_一区免费_日韩在线视频精品_91色爱_国产成人精品av在线_9区中文字幕在线_成熟丰满熟妇高潮XXXXX视频 | 国产白浆二区二区精品视频_一区二区三区片_国产伦精品一区二区三区网站_吃奶呻吟打开双腿做受在线视频_免费在线观看成人_裸体午夜一级视频_欧美日韩成人一区二区_亚洲tv影院 | 国产粉嫩美女无套被中出_97色国产_少妇被猛烈挺进爽爽视频_91嫩草入口_日韩一级片一区二区_国产99精品在线观看_人与禽性视频77777交片_五月色婷婷亚洲精品制服丝袜1区 | 成人avav_小货sao边洗澡边cao你动漫_亚洲一区二区在线看_欧美亚洲日韩在线综合_奇米第四色7777_国产又爽又大又黄A片图片_中文乱码字幕在线中文乱码_丰满少妇xxxx | 国产大片免费完整观看_国产精品亚洲综合_91麻豆免费视频网站_亚洲人成网站在线在线_一级卡毛片_国产潢片AAAAAAAAA免费_欧美三级真做在线观看_国产永久伊人影院 | 成年人91视频_亚洲最大成人_日韩拔插拔插_91精品国产欧美一区二区成人_天码中文字幕在线播放_白嫩无码人妻丰满熟妇啪啪区百度_青青草综合在线_91桃色在线 | 日韩精品一区二区在线天天狠天_久久久成人999亚洲区美女_国产九一精品_巜被社长侵犯的人2中文在线_伊人久综合_2019国产精品_无套内射AV五十区_久久精品96 | 狼群社区WWW在线中文_精品国偷自产在线视频_人妻被中出不敢呻吟A片视频_99久久精品国产网站_九九在线视频_国产h片在线观看_国产美女被遭强高潮免费_欧洲vodafone精品性 | 国产午夜亚洲精品_毛片久久久久_七级毛片_91在线麻豆_japanese佳佳丝袜足调教_精品一区二区三区av_男人的天堂久久久_欧美40老熟妇色xxxxx | japanese69极品少妇_卡一卡二卡三免费视频_亚洲精品中文字幕无码蜜桃_在线观看美女网站大全免费_中文字幕制服丝袜一区二区三区_久久久精品国产一区_九九九在线观看_想看一级黄色 | 亚洲精品一区二区三区四区高清_亚洲熟妇久久精品_无码国产精品一区二区VR老人_一区二区三区免费看视频_国产精品国产a级_特级黄色毛片视频片子_日本黄色毛片_男人视频网站 | 欧美日韩综合在线_日日婷婷夜日日天干A片_东京一本一道一二三区_亚洲欧美在线播放_国产在线高清视频无码_亚洲午夜无码毛片av久久久久久_亚洲福利av_杨幂ai换脸视频 | 精品人妻无码一区二区三区牛牛_中文字幕无码乱码人妻系列蜜桃_中文字幕亚洲码在线观看_欧美大片首页欧美大片首页_亚洲国产精品午夜在线观看_成人免费xxx在线观看_全球AV集中精品导航福利_国产午夜福利久久网 | 色网站在线视频_国产九色网站_成人免费视频国产_禁果av一区在线在观看_欧美暴力analvideos_在线观看中文字幕dvd播放_日韩精品资源二区在线_无码H肉3D动漫在线观看 | 国产成人影院一区二区三区_日本1区_伊人色播_久久久精品视频免费看_亚洲第一综合_久久久噜噜噜久久熟女_手机看片被窝午夜婷婷国产_超碰在线免费97 |