版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一個(gè)WindowsNT的應(yīng)用程序典型地?fù)碛?個(gè)預(yù)定義段,它們是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些應(yīng)用程序不需要所有的這些段,同樣還有一些應(yīng)用程序?yàn)榱俗约禾厥獾男枰x了更多的段。這種做法與MSDOS和Windows3.1中的代碼段和數(shù)據(jù)段相似。事實(shí)上,應(yīng)用程序定義一個(gè)獨(dú)特的段的方法是使用標(biāo)準(zhǔn)編譯器來(lái)指示對(duì)代碼段和數(shù)據(jù)段的命名,或者使用名稱段編譯器選項(xiàng)
2、NT——就和Windows3.1中應(yīng)用程序定義獨(dú)特的代碼段和數(shù)據(jù)段一樣。以下是一個(gè)關(guān)于WindowsNTPE文件之中一些有趣的公共段的討論。可執(zhí)行代碼段,可執(zhí)行代碼段,.text.textWindows3.1和WindowsNT之間的一個(gè)區(qū)別就是WindowsNT默認(rèn)的做法是將所有的代碼段(正如它們?cè)赪indows3.1中所提到的那樣)組成了一個(gè)單獨(dú)的段,名為“.text”。既然WindowsNT使用了基于頁(yè)面的虛擬內(nèi)存管理系統(tǒng),那么將
3、分開(kāi)的代碼放入不同的段之中的做法就不太明智了。因此,擁有一個(gè)大的代碼段對(duì)于操作系統(tǒng)和應(yīng)用程序開(kāi)發(fā)者來(lái)說(shuō),都是十分方便的。.text段也包含了早先提到過(guò)的入口點(diǎn)。IAT亦存在于.text段之中的模塊入口點(diǎn)之前。(IAT在.text段之中的存在非常有意義,因?yàn)檫@個(gè)表事實(shí)上是一系列的跳轉(zhuǎn)指令,并且它們的跳轉(zhuǎn)目標(biāo)位置是已固定的地址。)當(dāng)WindowsNT的可執(zhí)行映像裝載入進(jìn)程的地址空間時(shí),IAT就和每一個(gè)導(dǎo)入函數(shù)的物理地址一同確定了。要在.te
4、xt段之中查找IAT,裝載器只用將模塊的入口點(diǎn)定位,而IAT恰恰出現(xiàn)于入口點(diǎn)之前。既然每個(gè)入口擁有相同的尺寸,那么向后退查找這個(gè)表的起始位置就很容易了。數(shù)據(jù)段,數(shù)據(jù)段,.bss.bss、.rdata.rdata、.data.data.bss段表示應(yīng)用程序的未初始化數(shù)據(jù),包括所有函數(shù)或源模塊中聲明為static的變量。.rdata段表示只讀的數(shù)據(jù),比如字符串文字量、常量和調(diào)試目錄信息。所有其它變量(除了出現(xiàn)在棧上的自動(dòng)變量)存儲(chǔ)在.dat
5、a段之中?;旧希@些是應(yīng)用程序或模塊的全局變量。資源段,資源段,.rsrc.rsrc.rsrc段包含了模塊的資源信息。它起始于一個(gè)資源目錄結(jié)構(gòu),這個(gè)結(jié)構(gòu)就像其它大多數(shù)結(jié)構(gòu)一樣,但是它的數(shù)據(jù)被更進(jìn)一步地組織在了一棵資源樹(shù)之中。以下的IMAGE_RESOURCE_DIRECTY結(jié)構(gòu)形成了這棵樹(shù)的根和各個(gè)結(jié)點(diǎn)。WINNT.Htypedefstruct_IMAGE_RESOURCE_DIRECTYULONGacteristicsULONGTi
6、meDateStampUSHTMajVersion圖2.2.一個(gè)簡(jiǎn)單的資源樹(shù)結(jié)構(gòu)一個(gè)簡(jiǎn)單的資源樹(shù)結(jié)構(gòu)圖2描述了一個(gè)非常簡(jiǎn)單的資源樹(shù),它包含了僅僅兩個(gè)資源對(duì)象:一個(gè)菜單和一個(gè)字串表。更深一層地來(lái)說(shuō),它們各自都有一個(gè)子項(xiàng)。然而,你仍然可以看到資源樹(shù)有多么復(fù)雜——即使它像這個(gè)一樣只有一點(diǎn)點(diǎn)資源。在樹(shù)的根部,第一個(gè)目錄有一個(gè)文件中包含的所有資源種類的入口,而不管資源種類有多少。在圖2中,有兩個(gè)由樹(shù)根標(biāo)識(shí)的入口,一個(gè)是菜單的,另一個(gè)是字串表的。如
7、果文件中擁有一個(gè)或多個(gè)對(duì)話框資源,那么根結(jié)點(diǎn)會(huì)再擁有一個(gè)入口,因此,就有了對(duì)話框資源的另一個(gè)分支。WINUSER.H中標(biāo)識(shí)了基本的資源種類,我將它們列到了下面:WINUSER.H預(yù)定義的資源種類#defineRT_CURSMAKEINTRESOURCE(1)#defineRT_BITMAPMAKEINTRESOURCE(2)#defineRT_ICONMAKEINTRESOURCE(3)#defineRT_MENUMAKEINTRESO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 編寫(xiě)一個(gè)java程序片斷-定義一個(gè)表示學(xué)生的類student
- vb 利用treeview控件實(shí)現(xiàn)一個(gè)應(yīng)用程序的導(dǎo)航
- 項(xiàng)目說(shuō)明為一個(gè)iphone應(yīng)用程序設(shè)計(jì)圖標(biāo)
- 第一單元我們擁有一個(gè)家
- 1你擁有一個(gè)風(fēng)險(xiǎn)組合
- 1你擁有一個(gè)風(fēng)險(xiǎn)組合
- 一個(gè)簡(jiǎn)單的鬧鐘程序
- 一個(gè)it企業(yè)的典型團(tuán)隊(duì)管理
- 一個(gè)權(quán)限的難題:Android智能手機(jī)上安裝應(yīng)用程序的權(quán)限.doc
- 一個(gè)權(quán)限的難題:Android智能手機(jī)上安裝應(yīng)用程序的權(quán)限.doc
- windows應(yīng)用程序界面的設(shè)計(jì)
- 一個(gè)原創(chuàng)地儀表控件
- 一個(gè)簡(jiǎn)單的密碼開(kāi)鎖程序
- 如何通過(guò) mpiprofibus 將一個(gè) wincc flexible 項(xiàng)目傳送給一個(gè)基于 windows 的面板?
- 一個(gè)權(quán)限的難題android智能手機(jī)上安裝應(yīng)用程序的權(quán)限外文翻譯
- 一個(gè)權(quán)限的難題:android智能手機(jī)上安裝應(yīng)用程序的權(quán)限外文翻譯
- 一個(gè)權(quán)限的難題android智能手機(jī)上安裝應(yīng)用程序的權(quán)限外文翻譯
- 如何編寫(xiě)一個(gè)簡(jiǎn)單的程序
- 一個(gè)權(quán)限的難題android智能手機(jī)上安裝應(yīng)用程序的權(quán)限外文翻譯
- 9 一個(gè)小村莊的故事
評(píng)論
0/150
提交評(píng)論