逆向工程課件_第1頁
逆向工程課件_第2頁
逆向工程課件_第3頁
逆向工程課件_第4頁
逆向工程課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、逆向工程復習一、關于考查的報告二、關于考試的內容三、題型一、關于考查的報告1、寫一個篇幅不少于10頁的報告;2、自選任意一款軟件,可以是商業(yè)軟件、開源軟件、也可以是自己寫的軟件;3、利用本課程的知識、相關的工具對上述可執(zhí)行程序進行逆向,看一下高階視角的程序和低階視角的程序有哪些區(qū)別?并試一下優(yōu)化器的設置對它的影響;一、關于考查的報告(續(xù))4、程序可以是本地IA-32代碼,也可以是字節(jié)碼,也可以使用現(xiàn)成的混淆器進行處理并看處理后的結果;5、報告格式(1)軟件名稱;(2)選該軟件的原因及目的意義;(3)工具的選擇及簡介;5、報告格式(續(xù))(4)實驗過程、步驟和結果;(5)心得體會與收獲。6、其它要

2、求(1)標題為四號;(2)正文為小四;(3)圖表要有編號和名稱;(4)每頁要有頁碼;(5)行間距為1.5倍;(6)提交時間為考試后的一天為截止日期;(7)打印。二、關于考試的內容復習第一章 基礎1、逆向工程概念 逆向工程是從任何 人造 的東西中提取知識或設計規(guī)劃的過程。 逆向工程是了解軟件“所作所為”的一套最重要的技術和工具。正式地講,逆向工程是“通過分析目標系統(tǒng)以識別系統(tǒng)的組件以及這些組件之間的相互關系并創(chuàng)建該系統(tǒng)另一種形式的表示或更高級的抽象過程”。1、逆向工程概念(續(xù))1、逆向工程概念(續(xù)) 軟件逆向工程融合了以下技術:密碼破解(code breaking)、猜字謎(puzzle sol

3、ving)、程序設計和邏輯分析。2、軟件逆向工程分類(1)從 已知軟件 系統(tǒng)的 完整代碼 出發(fā),生成對應系統(tǒng)的 結構 以及相關設計 原理 和 算法思想 的 文檔;(2)從 沒有源代碼 的程序出發(fā),生成對應的 源程序、系統(tǒng)結構 以及相關設計原理 和 算法思想 的 文檔 等。3、逆向工程在軟件分析中的作用(1)軟件開發(fā)人員可以利用逆向技術發(fā)掘如何實現(xiàn)與沒有文檔的或只有部分文檔軟件的互操作;(2)逆向可以用來確定諸如代碼庫甚至于操作系統(tǒng)這樣的第三方代碼的質量;(3)為了提高自己的技術,有時也可以利用逆向技術從競爭方的產(chǎn)品中提取有價值的信息。4、與安全相關的逆向應用(1)在惡意軟件方面的應用;(2)對

4、加密算法進行逆向應用;(3)在數(shù)字化權限管理方面應用;(4)在審核程序的二進制代碼方面應用。5、什么是底層軟件 底層軟件(也稱為系統(tǒng)軟件)是整個軟件體系基礎軟件(infrastructure)的統(tǒng)稱。 底層軟件包括諸如編譯器、鏈接器(Linker)和調試器的開發(fā)工具,諸如操作系統(tǒng)的基礎軟件,以及像匯編語言這樣的低級程序設計語言。6、加密算法可以粗略地分為兩類 加密算法可以粗略地分為兩類:約束算法(restricted algorithms)和基于密鑰的算法。7、逆向工程分為幾個階段(1)對早期程序進行大范圍的觀察,這個階段被稱為系統(tǒng)級逆向;(2)代碼級逆向技術能為我們提供所選定的代碼塊的詳細信

5、息。8、逆向工具主要有那些類(1)系統(tǒng)監(jiān)控工具;(2)反匯編器;(3)調試器;(4)反編譯器;(5)轉儲工具;(6)修補工具。第二章 底層軟件1、模塊有幾種形式,分別是什么? 模塊有兩種基本形式:靜態(tài)庫和動態(tài)庫,這兩種形式可以組合起來構建程序。2、數(shù)組、鏈表、樹管理數(shù)據(jù)的優(yōu)缺點。3、控制流語句的基本形式有哪些?(1)條件塊;(2)切換塊;(3)循環(huán)。4、編譯器由幾部分組成,每部分完成什么功能。 一般的編譯器包含三個基本的組件:編譯器的前端、優(yōu)化器和編譯器的后端。(1)編譯器的前端負責對源程序文本進行譯碼、確保程序的語法正確且與語言的規(guī)范一致;第二章 底層軟件(續(xù))(2)優(yōu)化器在保留程序原意的情

6、況下對它的各個方面進行改進;(3)后端負責將優(yōu)化器輸出的優(yōu)化后的代碼轉化為平臺專用的二進制代碼。4、編譯器由幾部分組成,每部分完成什么功能。(續(xù))第三章 逆向工具1、逆向方法有哪些?各有什么優(yōu)點和缺點? 通常來說,有兩種基本的逆向方法:離線分析(offline analysis)和現(xiàn)場分析(live analysis)。1、逆向方法有哪些?各有什么優(yōu)點和缺點?(續(xù)) 離線代碼分析的缺點(與現(xiàn)場分析相比)是:你需要更好的理解代碼,因為你無法看到程序所處理的數(shù)據(jù)以及數(shù)據(jù)的流動。你必須猜測程序處理的是哪些類型的數(shù)據(jù),而這些數(shù)據(jù)又是如何隨著代碼的執(zhí)行流動的。2、在逆向中主要有哪些工具?(1)反匯編器;

7、(2)調試器;(3)反編譯器;(4)系統(tǒng)監(jiān)控工具;(5)修補工具;(6)轉儲工具。3、調試器分幾類?各有什么特點? 在現(xiàn)代操作系統(tǒng)中,可以將調試器粗略地分為兩種不同的風格:用戶模式調試器和內核模式調試器。 用戶模式調試器的缺點是:僅能觀察一個進程,而且僅能觀察這個進程中的用戶模式代碼。受限于單個進程意味著你必須清楚地知道你想對哪個進程實施逆向。3、調試器分幾類?各有什么特點?(續(xù)) 想獲得系統(tǒng)的整體面貌而不是某個特定的進程時,你就需要使用內核模式調試器。與用戶模式調試器不同,內核模式調試器不是運行在操作系統(tǒng)之上的程序,它是與系統(tǒng)的內核處于同等地位的組件,你能在任意給定的時刻停止整個系統(tǒng)的運行并

8、觀察它。3、調試器分幾類?各有什么特點?(續(xù)) 內核模式調試器最強大的地方就是設置底層斷點的能力。4、目前可用的兩種虛擬機技術是Microsoft公司的Virtual PC 和VMWare公司的VMWare Workstation。3、調試器分幾類?各有什么特點?(續(xù))5、最常見的兩個虛擬機架構是:運行Java程序的Java虛擬機(JVM)和運行Microssoft.NET應用程序的公共語言運行時(CLR)。第四章 未公開的技術 如何找到你感興趣的地方?第五章 破譯文件格式 破譯程序的基本過程或步驟。第六章 審查程序的二進制碼1、安全性的含義 安全性就是對系統(tǒng)信息流的控制能力。這種控制能力意味

9、著文件駐留在計算機中,不受好事的入侵者的影響,而惡意代碼則在計算機之外。2、什么是漏洞? 漏洞本質上是:程序中的缺陷或者缺點,它會危及程序、甚至是整個計算機系統(tǒng)的安全。漏洞是存在于程序中的、能夠被惡意的入侵者利用的缺點。3、什么是堆棧溢出?如何來避免? 當程序從外部世界接收數(shù)據(jù)時,不管這些數(shù)據(jù)是用戶直接輸入的還是通過網(wǎng)絡連接拷貝到堆棧中的,只要不檢查數(shù)據(jù)長度就會發(fā)生簡單的堆棧溢出。 這是由于堆棧的大小是固定的,因為編譯器產(chǎn)生的、用來訪問堆棧的偏移量是預先確定的,并硬編碼在了機器碼中。這意味著程序不能根據(jù)要傳遞的信息量的大小動態(tài)分配堆??臻g,它必須為預期接收的最大數(shù)據(jù)塊在堆棧中預先分配足夠的空間

10、。3、什么是堆棧溢出?如何來避免?(續(xù))常見的函數(shù)調用約定:stdcall、cdecl、fastcall、thiscall、naked call。第7章 逆向惡意軟件1、什么是惡意軟件? 惡意軟件(Malicious software,或寫作malware)統(tǒng)指其行為損害系統(tǒng)用戶或系統(tǒng)所有者利益的軟件。2、惡意軟件主要有哪些類型?(1) 病毒;(2)蠕蟲;(3)特駱伊木馬;(4)后門;(5)移動代碼;(6)廣告軟件和間諜軟件;3、未來的惡意軟件有哪些?(1)盜取信息的蠕蟲;第7章 逆向惡意軟件(續(xù))(2)BIOS/固件惡意軟件。4、惡意程序的幾種最典型的用途和設計動機;(1)后門訪問(Back

11、door Access);(2)拒絕服務攻擊(Denial-of-Service Attacks,DoS)(3)汪達爾行為(Vandalism,指故意實施破壞的行為)(4)資源盜用(Resource Theft)(5)信息盜用(Information Theft)4、惡意程序的幾種最典型的用途和設計動機(續(xù))第8章 盜版與拷貝保護1、什么是群破解? 當一項安全技術或一種產(chǎn)品以一種會影響到其他每一個使用了該技術或該產(chǎn)品的用戶的形式失效時,就發(fā)生了群破解,在這種情況下,受到攻擊的將不僅僅是一個特定的系統(tǒng)。2、設計軟件拷貝保護方案時需要考慮的最重要的因素為?(1)抗攻擊性 不可能創(chuàng)建出一種堅不可摧的

12、保護方案,但在這一領域中,研制出好與不好的拷貝保護技術所需的努力差異非常之大。(3)靈活性 軟件供應商通常要求靈活的保護機制,而不僅僅是阻止用戶非法散布程序。 如在線發(fā)布、時間限制、功能限制。(2)對終端用戶透明2、設計軟件拷貝保護方案時需要考慮的最重要的因素為?(續(xù))3、具體有哪些類型的保護?(1)基于介質的(media-based)保護;(2)基于序列號(serial-number-based)的保護;(3)挑戰(zhàn)響應(challenge response)和在線激活(online activations)的保護;(4)基于硬件的(hardware-based)保護;(5)軟件即服務。4、為什么媒體文件比軟件更難保護? 控制媒體文件的流動比控制軟件的流動還要困難,因為媒體文件不像軟件那樣能夠自己保護自己。第9章 反逆向技術1、反逆向有哪些基本方法?(1)消除符號信息;(2)混淆程序;(3)嵌入反調試器代碼。2、什么是控制流變換?分為哪幾類? 控制流變換指的是通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論