反編譯技術(shù)與軟件逆向分析

出版時間:2009-11  出版社:國防工業(yè)出版社  作者:趙榮彩,龐建民,張靖博 編著  頁數(shù):218  
Tag標簽:無  

前言

隨著計算機科學和相關(guān)技術(shù)的不斷發(fā)展,尤其是各種編程語言的不斷豐富與壯大,相關(guān)人員對貼近于硬件層的低級形式編碼越來越陌生。但是,事實表明計算機軟件領域從來沒有過,也不可能真正脫離對繁瑣的低級代碼進行分析的需求,而軟件逆向分析技術(shù)在近年來重新成為計算機科學領域的研究熱點。在眾多逆向分析技術(shù)中,反編譯是對目標程序分析最為徹底,但也是最為困難的技術(shù)領域。從名稱上可以看出,反編譯技術(shù)是編譯技術(shù)的逆過程,即將低級目標可執(zhí)行代碼翻譯為語義等價的高級語言表示形式。本書希望能夠為從事軟件逆向分析的科研人員和工作者提供有效的幫助。與其他相關(guān)的逆向分析書籍不同的是,編者沒有局限于對二進制代碼的反匯編分析,或者局限于對不同逆向分析輔助工具的使用指導,而是希望能夠在反匯編層面分析的基礎上對目標低級程序進行進一步挖掘,從而獲取更多的有效信息。畢竟現(xiàn)有的各種逆向分析工具的功能不一,不能完全滿足業(yè)界復雜多變的需求?!笆谌艘贼~,不如授之以漁”,本書希望能夠幫助讀者深入了解并掌握一個完整反編譯工具的各個部分,從而編寫真正滿足自己需求的逆向分析工具。全書分為三大部分,共10章。第一部分,包括第1章至第3章。簡要介紹了軟件逆向分析技術(shù)的相關(guān)基礎知識,為讀者的進一步閱讀奠定良好的基礎。包括軟件逆向分析的背景知識、不同體系結(jié)構(gòu)指令系統(tǒng)的相關(guān)背景,以及針對可執(zhí)行文件格式的介紹。在指令系統(tǒng)一章中介紹了兩種完全不同的體系結(jié)構(gòu),即CISC體系結(jié)構(gòu)和EPIC體系結(jié)構(gòu),并且著重針對Intel公司的64位安騰處理器的IA-64體系結(jié)構(gòu)指令系統(tǒng)進行分析。在可執(zhí)行文件格式一章,則著重解析了在Linux操作系統(tǒng)中流行的ELF可執(zhí)行文件格式。第二部分,包括第4章、第5章。

內(nèi)容概要

本書共分10章。第1章到第3章簡要介紹了軟件逆向分析技術(shù)的相關(guān)基礎知識;第4章和第5章從反匯編和中間表示兩個方面為反編譯奠定基礎;第6章到第9章針對反編譯的若干關(guān)鍵技術(shù)展開詳細介紹;第10章則為反編譯測試相關(guān)的一些可用資源。全書以IA-64可執(zhí)行代碼為例進行講解,但相關(guān)技術(shù)可以向其他平臺推廣?! ”緯勺鳛橛嬎銠C軟件專業(yè)本科高年級學生、碩士研究生的相關(guān)課程教科書或教學參考書,也可供從事軟件逆向分析工作的工程技術(shù)人員參考。

書籍目錄

第1章 緒論 1.1 軟件逆向分析  1.1.1 與安全相關(guān)的逆向分析  1.1.2 針對軟件開發(fā)的逆向分析  1.1.3 本書的主要內(nèi)容 1.2 軟件逆向分析的歷史 1.3 軟件逆向分析的各個階段  1.3.1 文件裝載  1.3.2 指令解碼  1.3.3 語義映射  1.3.4 相關(guān)圖構(gòu)造  1.3.5 過程分析  1.3.6 類型分析  1.3.7 結(jié)果輸出 1.4 逆向分析框架  1.4.1 靜態(tài)分析框架  1.4.2 動態(tài)分析框架  1.4.3 動靜結(jié)合的分析框架第2章 指令系統(tǒng) 2.1 指令系統(tǒng)概述 2.2 機器指令與匯編指令  2.2.1 機器指令  2.2.2 匯編指令 2.3 LA.6 4體系結(jié)構(gòu)的特點  2.3.1 顯式并行機制_  2.3.2 IA.64微處理器體系結(jié)構(gòu) 2.4 指令格式 本章小結(jié)第3章 可執(zhí)行文件 3.1 可執(zhí)行文件概述 3.2 可執(zhí)行文件格式  3.2.1 ELF文件的3種主要類型  3.2.2 文件格式  3.2.3 數(shù)據(jù)表示  3.2.4 文件頭  3.2.5 節(jié)  3.2.6 字符串表  3.2.7 符號表 3.3 一個簡單的ELF文件分析  3.3.1 文件頭分析  3.3.2 section信息分析 本章小結(jié)第4章 反匯編技術(shù) 4.1 反匯編技術(shù)簡介 4.2 反匯編算法流程  4.2.1 線性掃描算法  4.2.2 遞歸掃描算法 4.3 反匯編工具的自動構(gòu)造方法  4.3.1 自動構(gòu)造工具  4.3.2 利用自動構(gòu)造方法構(gòu)建IA-64反匯編器 4.4 常用反匯編工具介紹  4.4.1 IDAPro介紹  4.4.2 ILDasm介紹 本章小結(jié)第5章 指令的語義抽象 5.1 語義描述語言  5.1.1 SSL簡介  5.1.2 SSL文法的設計  5.1.3 SSL文法的擴展 5.2 中間表示  5.2.1 低級中間表示(RTL)  5.2.2 高級中間表示(HRTL) 5.3 指令的語義抽象技術(shù)  5.3.1 語義抽象技術(shù)簡介  5.3.2 指令語義的SSL描述  5.3.3 指令語義的高級模擬 5.4 基于SSL的IA.64指令語義抽象技術(shù)  5.4.1 IA.64的體系結(jié)構(gòu)特征描述  5.4.2 整數(shù)指令的語義描述 5.5 基于模擬的IA.64指令語義抽象技術(shù)  5.5.1 IA.64浮點特性  5.5.2 浮點指令的語義模擬  5.5.3 浮點并行指令的語義模擬 本章小結(jié)第6章 基本數(shù)據(jù)類型分析第7章 高級控制流恢復第8章 過程恢復技術(shù)第9章 部分編譯優(yōu)化效果的消除第10章 程序的調(diào)試與測試參考文獻

章節(jié)摘錄

插圖:2.逆向分析加密算法加密系統(tǒng)往往與隱私有關(guān):一個人傳遞給另一個人的信息可能并不想讓其他人知道??梢源致缘貙⒓用芩惴ǚ譃閮山M:有限加密算法和基于密鑰的算法。有限加密算法好比一些孩子們玩的游戲:寫給一個朋友一封信,信中的每個字母都經(jīng)過向上或向下的若干次移動。有限加密算法的秘密在于算法本身,一旦算法被揭露,也就毫無秘密可言。由于逆向分析可以分析出加密或解密算法,因此有限加密算法只能提供非常脆弱的安全性。由于其算法也是保密的,因此逆向分析可以被看作是對算法的破解過程。另一方面,基于密鑰的算法的秘密是密鑰,即一些類似于數(shù)字的值,它們可以由某些算法來對信息進行加密和解密。在基于密鑰的算法中,用戶使用密鑰對信息進行加密,并保證密鑰的隱蔽性。這種算法通常是公開的,而僅需要保護密鑰即可。由于算法是已知的,因此逆向分析變得毫無意義。為了對一條經(jīng)過基于密鑰算法加密的信息進行解密,可能需要以下3種途徑:①獲取密鑰;②嘗試所有可能的組合;③尋找算法中的缺陷,從而解析出密鑰或最初的信息。盡管如此,對于基于密鑰加密方法的逆向分析在某些方面卻意義非凡。即便加密算法廣為人知,特定的實現(xiàn)細節(jié)也會對程序提供的所有安全級別造成意想不到的影響。無論加密算法如何精巧,很小的實現(xiàn)錯誤也有可能使該算法提供的安全級別失效。而確認一個安全產(chǎn)品是否真正地實現(xiàn)一個加密算法只有兩種途徑:要么分析它的源代碼(假定是可行的),要么進行逆向分析。3.數(shù)字版權(quán)管理現(xiàn)代計算機系統(tǒng)已經(jīng)將大多數(shù)類型的具有版權(quán)的材料轉(zhuǎn)變?yōu)閿?shù)字信息,包括音樂、影視,甚至書籍。這些信息以前只能夠通過具體的媒介獲取,而現(xiàn)在可以通過數(shù)字化信息得到。這種趨勢為用戶提供了巨大的好處,也為版權(quán)擁有者和內(nèi)容提供商帶來了一些問題。對于用戶來說,這意味著資料質(zhì)量的提高,并且易于獲取和管理。對于提供商來說,這使得他們能夠以很低的費用提供高質(zhì)量的內(nèi)容,但更為重要的是,這種方式使得對內(nèi)容流向的控制無法完成。數(shù)字化信息以難以想象的速度在流動,并且易于復制。這種流動性意味著一旦帶有版權(quán)的資料到達用戶手中,用戶能夠很容易地對其進行移動和復制,因此盜版也變得相當容易。通常軟件公司通過在軟件產(chǎn)品中嵌入復制保護技術(shù)防止被盜版,即通過在軟件產(chǎn)品中嵌入代碼片段來防止或限制用戶對程序進行復制。

編輯推薦

《反編譯技術(shù)與軟件逆向分析》由國防工業(yè)出版社出版。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    反編譯技術(shù)與軟件逆向分析 PDF格式下載


用戶評論 (總計21條)

 
 

  •   專業(yè)度還行
  •   必須學的知識、。
  •   不錯的一本書,送貨也很快。不錯!??!
  •   很薄一本書,一天就看完了,不過還有不少有用的東西
  •   此書一般吧,送來時還淋了雨了。。。
  •   不錯的一本工具書,很實用,很好!
  •   太慢,送貨,態(tài)度還可以
  •   所以看下
  •   那時沒貨
  •   這書還行!
  •   仔細看了,還可以!
  •   閱讀該書要有一定基礎
  •   理論多一些, 如何用起來,有待繼續(xù)學習
  •   比較難,買的有些后悔。
  •   賣家還不錯,就是時間長了點
  •   太高深了,看不懂,不具體,無實用價值
  •   完全教學類,不適用,原理也講的很淺,只介紹IA64和ELF,非常虛。
  •   標題黨,內(nèi)容不充實,論述不清楚,
  •   泛泛而談,適合教授,不適合程序員
  •   基本上都是在描述理論 感覺很空洞的說
  •   書太貴...內(nèi)容有點少...太薄....實例不夠多
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7