版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《逆向工程》課程期末復(fù)習(xí)資料《逆向工程》課程講稿章節(jié)目錄:第1章基礎(chǔ)知識(shí)逆向工程逆向分析技術(shù)文本字符字節(jié)序Win32API函數(shù)Windows消息機(jī)制第2章動(dòng)態(tài)分析技術(shù)OllyDbg的界面OllyDbg的配置Olly加載程序OllyDdg的INT3斷點(diǎn)和硬件斷點(diǎn)OllyDdg內(nèi)存斷點(diǎn)OllyDbg消息斷點(diǎn)OllyDbg條件斷點(diǎn)OllyDbg插件OllyDbg的跟蹤WinDbg調(diào)試器Windbg符號(hào)文件WinDbg調(diào)試過(guò)程第3章靜態(tài)反匯編文件類型分析反匯編引擎IDAPro加載可執(zhí)行文件IDAPro的窗口IDAPro導(dǎo)航IDAPro交叉引用IDAPro函數(shù)分析IDAPro識(shí)別數(shù)組、結(jié)構(gòu)體IDAPro增強(qiáng)反匯編十六進(jìn)制工具與靜態(tài)分析技術(shù)應(yīng)用實(shí)例第4章逆向分析技術(shù)函數(shù)的識(shí)別識(shí)別變量識(shí)別IF分支結(jié)構(gòu)識(shí)別switch分支結(jié)構(gòu)識(shí)別循環(huán)數(shù)學(xué)運(yùn)算符虛函數(shù)64軟件逆向技術(shù)第5章演示版保護(hù)技術(shù)序列號(hào)保護(hù)方式警告窗口時(shí)間限制菜單功能限制KeyFile保護(hù)網(wǎng)絡(luò)驗(yàn)證光盤檢測(cè)只運(yùn)行一個(gè)實(shí)例第6章Windows內(nèi)核基礎(chǔ)內(nèi)存空間、權(quán)限空間布局Windows與內(nèi)核啟動(dòng)過(guò)程WindowsR3與R0通信內(nèi)核函數(shù)和內(nèi)核驅(qū)動(dòng)模塊內(nèi)核對(duì)象SSDTTEB和PEB第7章Windows下的異常處理異常處理的基本概念SEH的概念及基本知識(shí)SEH異常處理程序原理及設(shè)計(jì)向量化異常處理乂64平臺(tái)上的異常處理異常處理的實(shí)際應(yīng)用第8章PE文件格式PE的基本概念PE文件頭區(qū)塊輸入表綁定輸入、輸出表基址重定位資源TLS初始化、調(diào)試載入目錄、延遲載入數(shù)據(jù)—程序異常數(shù)據(jù)NET頭部編寫PE編輯工具一、客觀部分:(單項(xiàng)選擇、多項(xiàng)選擇、判斷)★考核知識(shí)點(diǎn):基礎(chǔ)知識(shí)參見(jiàn)講稿章節(jié):1.在關(guān)于逆向工程(reverseengineering)的描述中,正確的是()A.從己經(jīng)安裝的軟件中提取設(shè)計(jì)規(guī)范8.按照“輸出一>處理一>輸入”的順序設(shè)計(jì)軟件C.用硬件來(lái)實(shí)現(xiàn)軟件的功能D.根據(jù)軟件處理的對(duì)象來(lái)選擇開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具2.以下說(shuō)法錯(cuò)誤的是()A.逆向工程是指根據(jù)已有的產(chǎn)物和結(jié)果,通過(guò)分析來(lái)推導(dǎo)出具體的實(shí)現(xiàn)方法。B.在軟件漢化和軟件解密的過(guò)程中,首要問(wèn)題是對(duì)被漢化和解密的軟件進(jìn)行分析。C.通過(guò)靜態(tài)分析我們可以真正了解軟件中各個(gè)模塊的技術(shù)細(xì)節(jié)。D.對(duì)軟件分析來(lái)說(shuō),靜態(tài)分析只是第一步,動(dòng)態(tài)跟蹤才是分析軟件的關(guān)鍵。附(考核知識(shí)點(diǎn)解釋):逆向工程(ReverseEngineering)是指根據(jù)已有的產(chǎn)物和結(jié)果,通過(guò)分析來(lái)推導(dǎo)出具體的實(shí)現(xiàn)方法。對(duì)軟件來(lái)說(shuō),“可執(zhí)行程序一反編譯一源代碼”的過(guò)程就是逆向工程。逆向工程的內(nèi)容可以分為如下3類。(1)軟件使用限制的去除或者軟件功能的添加。(2)軟件源代碼的再獲得。(3)硬件的復(fù)制和模擬。參見(jiàn)講稿章節(jié):.判斷題:計(jì)算機(jī)中儲(chǔ)存的信息都是用二進(jìn)制數(shù)表示的,但如果要處理文本,并不需要先把文本轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù)。().判斷題:Unicode是ASCII字符編碼的一個(gè)擴(kuò)展,只不過(guò)在Windows中用2字節(jié)對(duì)其進(jìn)行編碼。()附(考核知識(shí)點(diǎn)解釋):文本字符計(jì)算機(jī)中儲(chǔ)存的信息都是用二進(jìn)制數(shù)表示的,屏幕上顯示的字符都是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果。如果要處理文本,就必須先把文本轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù)。在學(xué)習(xí)過(guò)程中,我們會(huì)與各類字符打交道。這些字符在Windows里扮演著重要的角色。字符集字符集是一個(gè)系統(tǒng)支持的所有抽象字符的集合。字符是各種文字和符號(hào)的總稱:文字標(biāo)點(diǎn)符號(hào)圖形符號(hào)數(shù)字IP地址字節(jié)存儲(chǔ)順序計(jì)算機(jī)領(lǐng)域在描述“關(guān)于字節(jié)該以什么樣的順序傳送的爭(zhēng)論”時(shí)引用了“endian”一詞,翻譯為“字節(jié)序”,表示數(shù)據(jù)在存儲(chǔ)器中的存放順序,主要分為大端序(Big-endian)和小端序(Little-endian),其區(qū)別如下。Big-endian:高位字節(jié)存入低地址,低位字節(jié)存入高地址。Little-endian:低位字節(jié)存入低地址,高位字節(jié)存入高地址。Intel處理器使用的是小尾方式存儲(chǔ)(LittleEndianness)低位字節(jié)存入低地址,高位字節(jié)存入高地址參見(jiàn)講稿章節(jié):1.判斷題:Windows是一個(gè)消息(Message)驅(qū)動(dòng)式系統(tǒng)。Windows消息提供在應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通信的手段。附(考核知識(shí)點(diǎn)解釋):Windows消息機(jī)制Windows是一個(gè)消息(Message)驅(qū)動(dòng)式系統(tǒng)。Windows消息提供在應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通信的手段。應(yīng)用程序想要實(shí)現(xiàn)的功能由消息觸發(fā),通過(guò)對(duì)消息的響應(yīng)和處理完成。Windows系統(tǒng)中有兩種消息隊(duì)列:一種是系統(tǒng)消息隊(duì)列;另一種是應(yīng)用程序消息隊(duì)列。計(jì)算機(jī)的所有輸入設(shè)備由Windows監(jiān)控。當(dāng)一個(gè)事件發(fā)生時(shí),Windows先將輸入的消息放入系統(tǒng)消息隊(duì)列,再將輸入的消息復(fù)制到相應(yīng)的應(yīng)用程序隊(duì)列中,應(yīng)用程序中的消息循環(huán)在它的消息隊(duì)列中檢索每個(gè)消息并發(fā)送給相應(yīng)的窗口函數(shù)。一個(gè)事件從發(fā)生到到達(dá)處理它的窗口函數(shù)必須經(jīng)歷上述過(guò)程。值注得意的是消息的非搶先性,即不論事件的急與緩,總是按到達(dá)的先后排隊(duì)(一些系統(tǒng)消息除外),而這可能導(dǎo)致一些外部實(shí)時(shí)事件得不到及時(shí)的處理?!锟己酥R(shí)點(diǎn):OllyDdg調(diào)試器參見(jiàn)講稿章節(jié):.判斷題:OllyDbg只能進(jìn)行動(dòng)態(tài)調(diào)試。().判斷題:OllyDbg是調(diào)試Ring0級(jí)程序的首選工具。()OllyDbg調(diào)試器附(考核知識(shí)點(diǎn)解釋):OllyDbg(簡(jiǎn)稱“OD")是由OlehYuschuk()編寫的一款具有可視化界面的用戶模式調(diào)試器。OllyDbg結(jié)合了動(dòng)態(tài)調(diào)試和靜態(tài)分析,具有GUI界面,非常容易上手,對(duì)異常的跟蹤處理相當(dāng)靈活。這些特性使OllyDbg成為調(diào)試Ring3級(jí)程序的首選工具。它的反匯編引擎很強(qiáng)大,可識(shí)別數(shù)千個(gè)被C和Windows頻繁使用的函數(shù),并能將其參數(shù)注釋出來(lái)。它會(huì)自動(dòng)分析函數(shù)過(guò)程、循環(huán)語(yǔ)句、代碼中的字符串等?!锟己酥R(shí)點(diǎn):OllyDdg的INT3斷點(diǎn)和硬件斷點(diǎn).判斷題:INT3斷點(diǎn)不改變?cè)绦虻臋C(jī)器碼。().判斷題:硬件斷點(diǎn)最多可以設(shè)置4個(gè)。()參見(jiàn)講稿章節(jié):附(考核知識(shí)點(diǎn)解釋):斷點(diǎn)斷點(diǎn)(Breakpoint)是調(diào)試器的一個(gè)重要功能,使執(zhí)行的程序中斷在指定的地方,從而方便對(duì)其進(jìn)行分析。INT3斷點(diǎn)INT3斷點(diǎn)指令,其機(jī)器碼是OxCC,也常被稱為“CC指令”。當(dāng)被調(diào)試進(jìn)程執(zhí)行INT3指令導(dǎo)致一個(gè)異常時(shí),調(diào)試器就會(huì)捕捉這個(gè)異常,從而停在斷點(diǎn)處,然后將斷點(diǎn)處的指令恢復(fù)成原來(lái)的指令。使用INT3斷點(diǎn)的優(yōu)點(diǎn)是可以設(shè)置無(wú)數(shù)個(gè)斷點(diǎn),缺點(diǎn)是改變了原程序機(jī)器碼,容易被軟件檢測(cè)到。硬件斷點(diǎn)硬件斷點(diǎn)和DRx調(diào)試寄存器有關(guān)。硬件斷點(diǎn)的原理是使用DR0,DR1,DR2,DR3設(shè)定地址,并使用DR7設(shè)定狀態(tài),因此最多設(shè)置4個(gè)斷點(diǎn)。硬件執(zhí)行斷點(diǎn)與CC斷點(diǎn)的作用一樣,但因?yàn)橛布?zhí)行斷點(diǎn)不會(huì)將指令首字節(jié)修改為“CC”,所以更難檢測(cè)?!锟己酥R(shí)點(diǎn):OllyDdg內(nèi)存斷點(diǎn)參見(jiàn)講稿章節(jié):選擇題:OllyDbg可以設(shè)置()個(gè)內(nèi)存斷點(diǎn)A.1個(gè)個(gè)個(gè)個(gè)附(考核知識(shí)點(diǎn)解釋):內(nèi)存斷點(diǎn)OllyDbg可以設(shè)置內(nèi)存訪問(wèn)斷點(diǎn)或內(nèi)存寫入斷點(diǎn),原理是對(duì)所設(shè)的地址的內(nèi)存頁(yè)設(shè)置不可訪問(wèn)或不可寫屬性,這樣當(dāng)內(nèi)存訪問(wèn)或?qū)懭氲臅r(shí)候就會(huì)產(chǎn)生異常。OllyDbg截獲異常后,比較異常地址是不是斷點(diǎn)地址,如果是就中斷,讓用戶繼續(xù)操作。因?yàn)槊看纬霈F(xiàn)異常時(shí)都要通過(guò)比較來(lái)確定是否應(yīng)該中斷,所以內(nèi)存斷點(diǎn)會(huì)降低OllyDbg的執(zhí)行速度。OllyDbg只能設(shè)置1個(gè)內(nèi)存斷點(diǎn)?!锟己酥R(shí)點(diǎn):WinDbg調(diào)試器參見(jiàn)講稿章節(jié):判斷題:WinDbg最強(qiáng)大的地方還是命令行,通常結(jié)合GUI和命令行進(jìn)行操作。()多選題:WinDbg支持哪些調(diào)試()A.以打開(kāi)、附加的方式調(diào)試應(yīng)用程序B.可以分析Dump文件C.可以進(jìn)行遠(yuǎn)程調(diào)試D.內(nèi)核調(diào)試★考核知識(shí)點(diǎn):文件類型分析參見(jiàn)講稿章節(jié):?jiǎn)芜x題:IDA的原始嵌入式腳本語(yǔ)言叫作()。單選題:IDA分析數(shù)據(jù)時(shí),數(shù)據(jù)類型可以在()之間轉(zhuǎn)換、dw、df、dw、dd、dd、df、dd、df多選題:下列說(shuō)法正確的是()A.PEiD這類文件分析工具是利用導(dǎo)入函數(shù)搜索來(lái)完成識(shí)別工作的B.開(kāi)發(fā)語(yǔ)言都有固定的啟動(dòng)代碼,利用這一點(diǎn)就可以識(shí)別程序是由何種語(yǔ)言編譯的C.被加密程序處理過(guò)的程序中會(huì)留下加密軟件的相關(guān)信息,利用這一點(diǎn)就可以識(shí)別程序是被何種軟件加密的D.PEiD提供了一個(gè)擴(kuò)展接口文件,用戶可以自定義一些特征碼,這樣就可以識(shí)別新的文件類型了附(考核知識(shí)點(diǎn)解釋):文件類型分析逆向分析程序的第一步就是分析程序的類型,了解程序是用什么語(yǔ)言編寫的或用什么編譯器編譯的,以及程序是否被某種加密程序處理過(guò),然后才能有的放矢,進(jìn)行下一步工作。這個(gè)分析過(guò)程需要文件分析工具的輔助。常見(jiàn)的文件分析工具有PEiD,ExeinfoPE等。此類工具可以檢測(cè)大多數(shù)編譯語(yǔ)言、病毒和加密軟件?!锟己酥R(shí)點(diǎn):反匯編引擎參見(jiàn)講稿章節(jié):?jiǎn)芜x題:以下對(duì)x86架構(gòu)指令集支持最全的反匯編引擎是()A.ODDisasmB.BeaEngineC.Udis86D.Capstone多選題:下列是反匯編引擎的有()判斷題:OllyDbg自帶的反匯編引擎ODDisasm,優(yōu)點(diǎn)是具有匯編接口(即文本解析,將文本字符串解析并編碼成二進(jìn)制值),這個(gè)特性曾經(jīng)獨(dú)樹(shù)一幟,且支持64位指令的匯編和反匯編。()判斷題:Keystone和Capstone是同一系列的引擎,由同一維護(hù)者主導(dǎo)開(kāi)發(fā)。Capstone主要負(fù)責(zé)跨平臺(tái)多指令集的反匯編工作,而Keystone主要負(fù)責(zé)跨平臺(tái)多指令集的匯編工作。與O11yDbg的匯編器一樣,Keystone也只支持文本匯編,不支持像AsmJit那樣的函數(shù)式匯編。()附(考核知識(shí)點(diǎn)解釋):反匯編引擎概述在安全軟件和保護(hù)軟件的開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)用到匯編引擎和反匯編引擎,例如OllyDbg、IDA、VMProtect、加殼軟件和反編譯器等。反匯編引擎的作用是把機(jī)器碼解析成匯編指令。常用的反匯編引擎有ODDisasm、BeaEngine、Udis86、Capstone,匯編引擎有ODAssemhler、Keystone、AsmJit?!锟己酥R(shí)點(diǎn):IDAPro加載可執(zhí)行文件參見(jiàn)講稿章節(jié):?jiǎn)芜x題:口人是按()裝載PE文件的A.交叉參考B.參考重命名C.格式化指令操作數(shù)D.代碼和數(shù)據(jù)轉(zhuǎn)換多選題:下列關(guān)于IDA有關(guān)說(shuō)法正確的是()IDA最主要的特性是交互和多處理器。用戶可以通過(guò)對(duì)IDA的交互來(lái)指導(dǎo)IDA更好地進(jìn)行反匯編。IDA是按區(qū)塊裝載PE文件的,例如.text(代碼塊)、.data(數(shù)據(jù)塊)、.rsrc(資源塊)、.idata(輸入表)和.edata(輸出表)等IDA反匯編所消耗的時(shí)間與程序大小及復(fù)雜程度有關(guān),通常需要等待一段時(shí)間才能完成。IDA可以格式化指令使用的常量,因此應(yīng)盡可能使用符號(hào)名稱而非數(shù)字,從而使反匯編代碼更具可讀性。IDA根據(jù)被反匯編指令的上下文、所使用的數(shù)據(jù)作出格式化決定。對(duì)其他情況,IDA一般會(huì)將相關(guān)常量格式化成一個(gè)十進(jìn)制常量?!锟己酥R(shí)點(diǎn):IDAPro導(dǎo)航參見(jiàn)講稿章節(jié):?jiǎn)芜x題:IDAPRO簡(jiǎn)稱IDA,是一個(gè)交互式()工具A.調(diào)試B.匯編C.編譯D.反匯編★考核知識(shí)點(diǎn):IDAPro交叉引用參見(jiàn)講稿章節(jié):?jiǎn)芜x題:通過(guò)()可以知道指令代碼的相互調(diào)用關(guān)系A(chǔ).交叉參考B.參考重命名C.格式化指令操作數(shù)D.代碼和數(shù)據(jù)轉(zhuǎn)換★考核知識(shí)點(diǎn):IDAPro函數(shù)分析參見(jiàn)講稿章節(jié):多選題:IDA反匯編代碼可以輸出()格式文件★考核知識(shí)點(diǎn):IDAPro識(shí)別數(shù)組、結(jié)構(gòu)體參見(jiàn)講稿章節(jié):判斷題:IDA有著較強(qiáng)的數(shù)組聚合能力。它可以將一串?dāng)?shù)據(jù)聲明變成一個(gè)反匯編行,按數(shù)組的形式顯示,從而簡(jiǎn)化反匯編代碼清單。()判斷題:IDA在進(jìn)行反匯編的時(shí)候能正確區(qū)分?jǐn)?shù)據(jù)和代碼。()★考核知識(shí)點(diǎn):IDAPro增強(qiáng)反匯編參見(jiàn)講稿章節(jié):判斷題:進(jìn)人指令匯編修改狀態(tài),jne指令共2字節(jié),因此用2個(gè)nop指令代替,這種跳過(guò)算法分析直接修改關(guān)鍵跳轉(zhuǎn)指令使程序注冊(cè)成功的方法,通常被解密者稱為“爆破法”。()★考核知識(shí)點(diǎn):十六進(jìn)制工具與靜態(tài)分析技術(shù)應(yīng)用實(shí)例參見(jiàn)講稿章節(jié):?jiǎn)芜x題:()十六進(jìn)制工具提供了文件比較功能多選題:常用的十六進(jìn)制工具有()參見(jiàn)講稿章節(jié):多選題:在以下的傳遞方式中,()是函數(shù)傳遞參數(shù)的方式A棧方式B隊(duì)列方式C寄存器方式D通過(guò)全局變量進(jìn)行隱含參數(shù)傳遞單選題:虛函數(shù)的地址是在()時(shí)候確定的A程序編寫時(shí)B編譯程序時(shí)C調(diào)用即將進(jìn)行時(shí)D程序執(zhí)行后判斷題:局部變量是函數(shù)內(nèi)部定義的一個(gè)變量,其作用域和生命周期作用于整個(gè)程序。()判斷題:調(diào)用虛函數(shù)時(shí),程序先取出虛函數(shù)表指針,得到虛函數(shù)表的地址,再根據(jù)這個(gè)地址到虛函數(shù)表中取出該函數(shù)的地址,最后調(diào)用該函數(shù)。()參見(jiàn)講稿章節(jié):?jiǎn)芜x題:以下先執(zhí)行語(yǔ)句塊,再進(jìn)行表達(dá)式判斷的循環(huán)語(yǔ)句是。()Ado循環(huán)Bwhile循環(huán)Cfor循環(huán)D都不是判斷題:程序在運(yùn)行時(shí),先調(diào)用main函數(shù)執(zhí)行用戶編寫的代碼,再執(zhí)行初始化函數(shù)代碼。()參見(jiàn)講稿章節(jié):判斷題:C+十的三大核心機(jī)制是封裝、繼承、多態(tài),虛函數(shù)就是多態(tài)的一種體現(xiàn)。VC++實(shí)現(xiàn)虛函數(shù)的方式是虛表。()附(考核知識(shí)點(diǎn)解釋):C+十的三大核心機(jī)制是封裝、繼承、多態(tài),虛函數(shù)是多態(tài)的一種體現(xiàn),對(duì)于面向?qū)ο笏枷朐O(shè)計(jì)的軟件,虛函數(shù)是軟件逆向分析還原面向?qū)ο蟠a的重要手段。VC++實(shí)現(xiàn)虛函數(shù)的方式是虛表,如果一個(gè)類中有虛函數(shù),編譯器就會(huì)為這個(gè)類生成一個(gè)虛表,不同的類,虛表是不相同的,相同的類對(duì)象,共享一個(gè)虛表。★考核知識(shí)點(diǎn):序列號(hào)保護(hù)方式參見(jiàn)講稿章節(jié):判斷題:軟件驗(yàn)證序列號(hào),其實(shí)就是驗(yàn)證用戶名和序列號(hào)之間的數(shù)學(xué)映射關(guān)系()★考核知識(shí)點(diǎn):警告窗口參見(jiàn)講稿章節(jié):判斷題:若要完全去除警告窗口,只需找到創(chuàng)建該窗口的代碼并將其跳過(guò)。()判斷題:在另外一些情況下,對(duì)話框不是以資源形式存在的,通過(guò)常用斷點(diǎn)就可以攔截不下來(lái)。()多選題:去除警告窗口常用的3種方法是()修改程序的資源靜態(tài)分析動(dòng)態(tài)分析放置不管★考核知識(shí)點(diǎn):時(shí)間限制參見(jiàn)講稿章節(jié):判斷題:演示版軟件一般都有使用時(shí)間的限制,例如試用30天,超過(guò)試用期也能運(yùn)行。()多選題:用于獲取時(shí)間的API函數(shù)有()
GetSystemTimeGetLocalTimeGetFileTimetimeGetTime★考核知識(shí)點(diǎn):菜單功能限制參見(jiàn)講稿章節(jié):選擇題:允許或禁止指定的菜單條目的API函數(shù)是()EnabIeMenultem()函數(shù)Enablewindow()函數(shù)GetTickCount()函數(shù)timeGetTime()函數(shù)★考核知識(shí)點(diǎn):KeyFile^參見(jiàn)講稿章節(jié):選擇題:確定文件是否存在的API函數(shù)是()FindFirstFileA函數(shù)CreateFileA函數(shù)GetFileAttributesA函數(shù)ReadFile函數(shù)選擇題:打開(kāi)文件以獲得其句柄的API函數(shù)是()A. FindFirstFileA函數(shù)B.CreateFileA函數(shù)B.CreateFileA函數(shù)C.GetFileAttributesAC.GetFileAttributesA函數(shù)D. ReadFile函數(shù)選擇題:允許或禁止指定窗口的API函數(shù)是()EnabIeMenultem()函數(shù)Enablewindow()函數(shù)GetTickCount()函數(shù)timeGetTime()函數(shù)★考核知識(shí)點(diǎn):內(nèi)核空間、權(quán)限空間布局參見(jiàn)講稿章節(jié):?jiǎn)芜x題:CPU設(shè)計(jì)者將CPU的運(yùn)行級(jí)別從內(nèi)向外分為4個(gè),依次為R0,R1,R2,R3,()擁有最高執(zhí)行權(quán)限A.R0B.R1單選題:用戶的應(yīng)用程序(就是用VisualC++等工具開(kāi)發(fā)的應(yīng)用程序)也是運(yùn)行在()級(jí)上的A.R0B.R1★考核知識(shí)點(diǎn):Windows與內(nèi)核啟動(dòng)過(guò)程參見(jiàn)講稿章節(jié):?jiǎn)芜x題:請(qǐng)對(duì)Windows的啟動(dòng)過(guò)程包括的以下幾個(gè)階段的順序進(jìn)行排列()(1)初始化啟動(dòng)階段(2)啟動(dòng)自檢階段Boot加載階段(4)檢測(cè)和配置硬件階段A3412B2341C2134D3214判斷題:Windows與內(nèi)核啟動(dòng)過(guò)程中在Boot加載階段,先對(duì)ntldr進(jìn)行設(shè)置,然后從啟動(dòng)分區(qū)加載ntldr。()附(考核知識(shí)點(diǎn)解釋):Windows的啟動(dòng)過(guò)程包括以下幾個(gè)階段。(1)啟動(dòng)自檢階段在打開(kāi)電源時(shí),計(jì)算機(jī)開(kāi)始自檢過(guò)程,從BIOS中載入必要的指令,然后進(jìn)行一系列的自檢操作,進(jìn)行硬件的初始化檢查(包括內(nèi)存、硬盤、鍵盤等,同時(shí)在屏幕上顯示信息。(2)初始化啟動(dòng)階段自檢完成后,根據(jù)CMOS的設(shè)置,BIOS加載啟動(dòng)盤,將主引導(dǎo)記錄(MBR)中的引導(dǎo)代碼載入內(nèi)存。接著,啟動(dòng)過(guò)程由MBR來(lái)執(zhí)行。啟動(dòng)代碼搜索MBR中的分區(qū)表,找出活動(dòng)分區(qū),將第1個(gè)扇區(qū)中的引導(dǎo)代碼載入內(nèi)存。引導(dǎo)代碼檢測(cè)當(dāng)前使用的文件系統(tǒng),查找ntldr文件,找到之后將啟動(dòng)它。BIOS將控制權(quán)轉(zhuǎn)交給ntldr,由ntldr完成操作系統(tǒng)的啟動(dòng)工作(注意:Windows7與此不同,使用的是Bootmgr)。(3)Boot加載階段在這個(gè)階段,先從啟動(dòng)分區(qū)加載ntldr,然后對(duì)ntldr進(jìn)行如下設(shè)置。①設(shè)置內(nèi)存模式。如果是x86處理器,并且是32位操作系統(tǒng),則設(shè)置為“32-bitflatmemorymode";如果是64位操作系統(tǒng),并且是64位處理器,則設(shè)置為64位內(nèi)存模式。②啟動(dòng)一個(gè)簡(jiǎn)單的文件系統(tǒng),以定位、ntoskrnl、Hal等啟動(dòng)文件。③讀取文件。(4)檢測(cè)和配置硬件階段在這個(gè)階段會(huì)檢查和配置一些硬件設(shè)備,例如系統(tǒng)固件、總線和適配器、顯示適配器、鍵盤、通信端口、磁盤、軟盤、輸入設(shè)備(例如鼠標(biāo))、并口、ISA總線上運(yùn)行的設(shè)備等。(5)內(nèi)核加載階段ntldr將首先加載Windows內(nèi)核和硬件抽象層(HAL)。HAL會(huì)對(duì)硬件底層的特性進(jìn)行隔離,為操作系統(tǒng)提供統(tǒng)一的調(diào)用接口。接下來(lái)ntldr從注冊(cè)表的HKEY_LOCAL_MACHINE\System\CurrentControlSet鍵下讀取這臺(tái)機(jī)器安裝的驅(qū)動(dòng)程序,然后加載驅(qū)動(dòng)程序。初始化底層設(shè)備驅(qū)動(dòng),在注冊(cè)表的HKEY_LACAL_MACHINE\System\CurrentControlSet\Services鍵下查找“Start鍵的值為0和1的設(shè)備驅(qū)動(dòng)。(6)Windows的會(huì)話管理啟動(dòng)驅(qū)動(dòng)程序加載完成,內(nèi)核會(huì)啟動(dòng)會(huì)話管理器。這是一個(gè)名為的程序,是Windows系統(tǒng)中第1個(gè)創(chuàng)建的用戶模式進(jìn)程,其作用如下。.創(chuàng)建系統(tǒng)環(huán)境變量。.加載,它是Windows子系統(tǒng)的內(nèi)核模式部分。.啟動(dòng),它是Windows子系統(tǒng)的用戶模式部分。.啟動(dòng)。.創(chuàng)建虛擬內(nèi)存頁(yè)面文件。.執(zhí)行上次系統(tǒng)重啟前未完成的重命名工作(PendingFileRename)。(7)登錄階段Windows子系統(tǒng)啟動(dòng)的系統(tǒng)服務(wù)提供對(duì)Windows用戶的登錄和注銷的支持,可以完成如下工作。.啟動(dòng)服務(wù)子系統(tǒng)),也稱服務(wù)控制管理器(SCM)。.啟動(dòng)本地安全授權(quán)(LSA)過(guò)程)。.顯示登錄界面。登錄組件將用戶的賬號(hào)和密碼安全地傳送給LSA進(jìn)行認(rèn)證處理。如果用戶提供的信息是正確的,能夠通過(guò)認(rèn)證,就允許用戶對(duì)系統(tǒng)進(jìn)行訪問(wèn)。(8)Windows7和WindowsXP啟動(dòng)過(guò)程的區(qū)別.BIOS通過(guò)自檢后,將MBR載入內(nèi)存并執(zhí)行,引導(dǎo)代碼找到啟動(dòng)管理器Bootmgr。.Bootmgr尋找活動(dòng)分區(qū)boot文件夾中的啟動(dòng)配置數(shù)據(jù)BCD文件,讀取并組成相應(yīng)語(yǔ)言的啟動(dòng)菜單,然后在屏幕上顯示多操作系統(tǒng)選擇畫面。.選擇Windows7系統(tǒng)后,Bootmgr就會(huì)讀取系統(tǒng)文件windows\system32\,并將控制權(quán)交給。.加載Windows7的內(nèi)核、硬件、服務(wù)等,然后加載桌面等信息,從而啟動(dòng)整個(gè)Windows7系統(tǒng)。★考核知識(shí)點(diǎn):WindowsR3與R0通信參見(jiàn)講稿章節(jié):?jiǎn)芜x題:Windows內(nèi)核部分會(huì)調(diào)用一些內(nèi)核層的函數(shù)。這些函數(shù)都以固定的前綴開(kāi)始,分別屬于內(nèi)核中不同的管理模塊,其中“Ps”屬于哪個(gè)模塊()A管理層B核心層C進(jìn)程管理D安全管理判斷題:Windows內(nèi)核驅(qū)動(dòng)模塊是內(nèi)核的重要組成部分,雖然有微軟自己開(kāi)發(fā)的內(nèi)核驅(qū)動(dòng),但是沒(méi)有第三方開(kāi)發(fā)的內(nèi)核驅(qū)動(dòng)。()附(考核知識(shí)點(diǎn)解釋):Windows分為應(yīng)用層與內(nèi)核層。當(dāng)應(yīng)用程序調(diào)用一個(gè)有關(guān)I/O的API(例如WriteFile)時(shí),實(shí)際上這個(gè)API被封裝在應(yīng)用層的某個(gè)DLL庫(kù)(例如和文件中。而DLL動(dòng)態(tài)庫(kù)中的函數(shù)的更底層的函數(shù)包含在文件中。中的NativeAPI是成對(duì)出現(xiàn)的,分別以“Nt”和“Zw”作為前綴。即ZwCreateFile函數(shù)和NtCreateFile函數(shù),只是名字不一樣。WindowsAPI函數(shù)調(diào)用中的NativeAPI函數(shù)。NativeAPI函數(shù)調(diào)用中斷int2E或者SysEnter指令,從R3進(jìn)入R0。內(nèi)核中的SSDT,有與中NativeAPI——對(duì)應(yīng)的系統(tǒng)處理服務(wù)函數(shù),即內(nèi)核態(tài)的Nt*系列函數(shù)?!锟己酥R(shí)點(diǎn):內(nèi)核函數(shù)與內(nèi)核驅(qū)動(dòng)模塊參見(jiàn)講稿章節(jié):判斷題:SSDT的全稱是系統(tǒng)服務(wù)描述符表,SSDT用于處理應(yīng)用層通過(guò)下發(fā)的各個(gè)API操作請(qǐng)求。()★考核知識(shí)點(diǎn):內(nèi)核對(duì)象參見(jiàn)講稿章節(jié):判斷題:TEB與PEB不一樣,在系統(tǒng)內(nèi)核空間中,而不是在應(yīng)用層中的結(jié)構(gòu)。()判斷題:PEB存在于用戶地址空間中,記錄了進(jìn)程的相關(guān)信息。每個(gè)進(jìn)程都有自己的PEB信息。()★考核知識(shí)點(diǎn):SSDT參見(jiàn)講稿章節(jié):判斷題:WinDbg有限制地支持本地內(nèi)核調(diào)試,只能查看一些重要的系統(tǒng)數(shù)據(jù)結(jié)構(gòu),不能通過(guò)下斷點(diǎn)的方式進(jìn)行調(diào)試。()判斷題:利用WinDbg調(diào)試內(nèi)核有多種方法。例如,WinDbg通過(guò)USB、1394火線、COM及網(wǎng)絡(luò)把兩臺(tái)機(jī)器連接起來(lái)。()★考核知識(shí)點(diǎn):TEB與PEB參見(jiàn)講稿章節(jié):判斷題:x64系統(tǒng)內(nèi)核驅(qū)動(dòng)需要驗(yàn)證數(shù)字簽名,但是直接運(yùn)行沒(méi)有數(shù)字簽名的驅(qū)動(dòng)的操作也能成功。()判斷題:加載內(nèi)核驅(qū)動(dòng)的方法很多,可以使用工具來(lái)加載。()★考核知識(shí)點(diǎn):異常處理的基本概念參見(jiàn)講稿章節(jié):選擇題:CPU設(shè)計(jì)者將CPU的運(yùn)行級(jí)別從內(nèi)向外分為4個(gè),依次為R0,R1,R2,R3,()擁有最高執(zhí)行權(quán)限選擇題:用戶的應(yīng)用程序(就是用VisualC++等工具開(kāi)發(fā)的應(yīng)用程序)也是運(yùn)行在()級(jí)上的A.R0選擇題:除了CPU能夠捕獲一個(gè)事件并引發(fā)一個(gè)硬件異常外,在代碼中可以主動(dòng)引發(fā)一個(gè)軟件異常,這只需調(diào)用()函數(shù)RaiseExeeption()nt!RtlDispatchExceptionKeBugCheckExKiDispatchException★考核知識(shí)點(diǎn):SEH的概念及基本知識(shí)參見(jiàn)講稿章節(jié):判斷題:SEH機(jī)制只能在用戶模式下使用。()判斷題:VEH機(jī)制支持用戶模式和內(nèi)核模式。()考核知識(shí)點(diǎn):向量化異常處理參見(jiàn)講稿章節(jié):判斷題:在Windows的任何版本中都有向量化異常處理。()考核知識(shí)點(diǎn):乂64平臺(tái)上的異常處理參見(jiàn)講稿章節(jié):判斷題:x64平臺(tái)上原生x64程序的異常分發(fā)流程與x86平臺(tái)上不是完全一致的。()考核知識(shí)點(diǎn):PE文件格式參見(jiàn)講稿章節(jié):判斷題:PE文件是作為單一內(nèi)存映射文件被載人內(nèi)存的。()
判斷題:每個(gè)PE文件都是以一個(gè)DOS程序開(kāi)始的,有了它,一旦程序在DOS下執(zhí)行,DOS就能識(shí)別出這是一個(gè)有效的執(zhí)行體。()參見(jiàn)講稿章節(jié):單選題:用十六進(jìn)制工具查看IMAGE_FILE_HEADER結(jié)構(gòu)的情況時(shí),以下字段中哪個(gè)代表可執(zhí)行文件的目標(biāo)CPU類型。NumberOfSectionsMachineTimeDateStampCharacteristics參見(jiàn)講稿章節(jié):判斷題:區(qū)塊的大小是要對(duì)齊的。有兩種對(duì)齊值,一種用于磁盤文件內(nèi),另一種用于內(nèi)存中。()判斷題:鏈接器的并不能夠合并區(qū)塊。()參見(jiàn)講稿章節(jié):選擇題:數(shù)據(jù)目錄表(DataDirectory)的第()個(gè)成員指向綁定輸人。綁定輸入以一個(gè)IMAGE_BOUND_IMPORT_DESCRIPTOR結(jié)構(gòu)的數(shù)組開(kāi)始。A10B11 C12D13選擇題:輸出表(ExportTable)的主要內(nèi)容是一個(gè)表格,其中包括函數(shù)名稱、輸出序數(shù)等。序數(shù)是指定DLL中某個(gè)函數(shù)的()位數(shù)字,在所指向的DLL里是獨(dú)無(wú)二的。A13B14A13B14C15D16二、主觀部分:★考核知識(shí)點(diǎn):基礎(chǔ)知識(shí)參見(jiàn)講稿章節(jié):簡(jiǎn)答題:闡述一下字節(jié)存儲(chǔ)順序。參見(jiàn)講稿章節(jié):簡(jiǎn)答題:簡(jiǎn)單地說(shuō),虛擬內(nèi)存的實(shí)現(xiàn)方法和過(guò)程?!锟己酥R(shí)點(diǎn):OllyDdg調(diào)試器參見(jiàn)講稿章節(jié):填空題:內(nèi)存數(shù)據(jù)窗口輸入(),即可查看rdx指向的字符串。填空題:在反匯編窗口選中任意的寄存器、地址、函數(shù),按(),也可以跳轉(zhuǎn)到相應(yīng)的目標(biāo)地址處。填空題:通過(guò)()菜單可以打開(kāi)其他子窗口,例如反匯編窗口、寄存器窗口、內(nèi)存窗口等。簡(jiǎn)答題:如何快速回到當(dāng)前程序領(lǐng)空?簡(jiǎn)答題:OllyDbg如何修改EIP?填空題:OllyDbg的設(shè)置項(xiàng)在()菜單里,有()選項(xiàng)和()選項(xiàng)等。這些選項(xiàng)配置都保存在()文件里。填空題:UDD文件是OllyDbg的工程文件,用于保存當(dāng)前調(diào)試的一些狀態(tài),例如()、()等,以便下次調(diào)試時(shí)繼續(xù)使用。填空題:OllyDbg調(diào)用()函數(shù)創(chuàng)建可執(zhí)行文件的進(jìn)程。填空題:附加到一個(gè)正在運(yùn)行的進(jìn)程,此刻OllyDbg會(huì)立即暫停這個(gè)程序以及它所有的();被附加的程序會(huì)暫停在的()處。填空題:在OllyDbg中可以使用()命令或者()快捷鍵來(lái)設(shè)置/消斷點(diǎn)?!锟己酥R(shí)點(diǎn):OllyDdg內(nèi)存斷點(diǎn)參見(jiàn)講稿章節(jié):簡(jiǎn)答題:內(nèi)存斷點(diǎn)的原理?★考核知識(shí)點(diǎn):反匯編引擎參見(jiàn)講稿章節(jié):簡(jiǎn)答題:比較各種反匯編引擎的優(yōu)缺點(diǎn)。簡(jiǎn)答題:Capstone介紹?!锟己酥R(shí)點(diǎn):反匯編引擎參見(jiàn)講稿章節(jié):簡(jiǎn)答題:交叉引用的概念。附(考核知識(shí)點(diǎn)解釋):交叉引用,在IDAPro中被稱為XREF,可以告訴你函數(shù)在何處被調(diào)用,或者一個(gè)字符串在何處被使用?!锟己酥R(shí)點(diǎn):IDAPro增強(qiáng)反匯編參見(jiàn)講稿章節(jié):簡(jiǎn)答題:FLIRT介紹?!锟己酥R(shí)點(diǎn):逆向分析技術(shù)參見(jiàn)講稿章節(jié):簡(jiǎn)答題:什么是逆向分析技術(shù)?★考核知識(shí)點(diǎn):序列號(hào)保護(hù)方式參見(jiàn)講稿章節(jié):簡(jiǎn)答題:序列號(hào)保護(hù)機(jī)制
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年崇左考從業(yè)資格證客運(yùn)試題
- 2024年泉州道路旅客運(yùn)輸駕駛員從業(yè)資格模擬試題
- 2024年鄂爾多斯客運(yùn)從業(yè)資格證模擬考試題
- 吉首大學(xué)《教師書寫技能》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉首大學(xué)《城鄉(xiāng)社會(huì)綜合調(diào)查與研究》2021-2022學(xué)年第一學(xué)期期末試卷
- 《機(jī)床夾具設(shè)計(jì)》試卷20
- 吉林藝術(shù)學(xué)院《藝術(shù)投融資》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉林藝術(shù)學(xué)院《人體結(jié)構(gòu)素描》2021-2022學(xué)年第一學(xué)期期末試卷
- 交通陪償協(xié)議書范本范本模板
- 安裝空調(diào)水管合同協(xié)議書范文
- 期中模擬(1-3單元)(試題)-2024-2025學(xué)年六年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 期中 (試題) -2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 點(diǎn)亮文明 課件 2024-2025學(xué)年蘇少版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 廉政法規(guī)知識(shí)測(cè)試及答案
- 托育服務(wù)中心項(xiàng)目可行性研究報(bào)告
- 2024內(nèi)蒙古農(nóng)牧業(yè)融資擔(dān)保限公司招聘28人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 5.1 延續(xù)文化血脈 課件-2024-2025學(xué)年統(tǒng)編版道德與法治九年級(jí)上冊(cè)-2
- 湖北省襄陽(yáng)市2023-2024學(xué)年六年級(jí)上學(xué)期語(yǔ)文期中考試試卷(含答案)
- 2024-2030年中國(guó)CCUS技術(shù)行業(yè)現(xiàn)狀調(diào)查與前景策略分析研究報(bào)告
- 2024-2025形勢(shì)與政策:七十五載砥礪奮進(jìn)創(chuàng)輝煌 中國(guó)式現(xiàn)代化繼往開(kāi)來(lái)興偉業(yè)
- “數(shù)字城市”公共智慧底座項(xiàng)目解決方案
評(píng)論
0/150
提交評(píng)論