IDA Pro權威指南(第2版)

出版時間:2012-2  出版社:人民郵電  作者:Chris Eagle  頁數(shù):493  譯者:石華耀,段桂菊  
Tag標簽:無  

內(nèi)容概要

  《IDA Pro權威指南(第2版)》共分為六部分,首先介紹了反匯編與逆向工程的基本信息和IDA
Pro的背景知識,接著討論了IDA
Pro的基本用法和高級用法,然后講解了其高擴展性及其在安全領域的實際應用,最后介紹了IDA的內(nèi)置調(diào)試器(包括Bochs調(diào)試器),一方面讓用戶對IDA
Pro有全面深入的了解,另一方面讓讀者掌握IDA
Pro在現(xiàn)實中的應用。相比上一版,這一版以IDA6.0為基礎,介紹了它的新的、基于Qt的圖形用戶界面,以及IDAPython插件。
  《IDA Pro權威指南(第2版)》適合IT領域的所有安全工作者閱讀。

作者簡介

  Chris
Eagle是美國加利福尼亞州蒙特雷海軍研究生院計算機科學系高級講師。他設計了很多IDA插件,還與人合著了Gray
Hat Hacking一書。他應邀在Balckhat、Defcon、Toorcon和Shmoocon等眾多安全會議上發(fā)表過演講。

書籍目錄

第一部分 IDA簡介
 第1章 反匯編簡介 
  1.1 反匯編理論 
  1.2 何為反匯編 
  1.3 為何反匯編 
  1.3.1 分析惡意軟件 
  1.3.2 漏洞分析 
  1.3.3 軟件互操作性 
  1.3.4 編譯器驗證 
  1.3.5 顯示調(diào)試信息 
  1.4 如何反匯編 
  1.4.1 基本的反匯編算法 
  1.4.2 線性掃描反匯編 
  1.4.3 遞歸下降反匯編 
  1.5 小結 
  
 第2章 逆向與反匯編工具 
  2.1 分類工具 
  2.1.1 file 
  2.1.2 PE Tools 
  2.1.3 PEiD 
  2.2 摘要工具 
  2.2.1 nm 
  2.2.2 ldd 
  2.2.3 objdump 
  2.2.4 otool 
  2.2.5 dumpbin 
  2.2.6 c++filt 
  2.3 深度檢測工具 
  2.3.1 strings 
  2.3.2 反匯編器 
  2.4 小結 
  
 第3章 IDA Pro背景知識 
  3.1 Hex-Rays公司的反盜版策略 
  3.2 獲取IDA Pro 
  3.2.1 IDA版本 
  3.2.2 IDA許可證 
  3.2.3 購買IDA 
  3.2.4 升級IDA 
  3.3 IDA支持資源 
  3.4 安裝IDA 
  3.4.1 Windows安裝 
  3.4.2 OS X和Linux安裝 
  3.4.3 IDA與SELinux 
  3.4.4 32位IDA與64位IDA 
  3.4.5 IDA目錄的結構 
  3.5 IDA用戶界面 
  3.6 小結 
第二部分 IDA基本用法
 第4章 IDA入門 
  4.1 啟動IDA 
  4.1.1 IDA文件加載 
  4.1.2 使用二進制文件加載器 
  4.2 IDA數(shù)據(jù)庫文件 
  4.2.1 創(chuàng)建IDA數(shù)據(jù)庫 
  4.2.2 關閉IDA數(shù)據(jù)庫 
  4.2.3 重新打開數(shù)據(jù)庫 
  4.3 IDA桌面簡介 
  4.4 初始分析時的桌面行為 
  4.5 IDA桌面提示和技巧 
  4.6 報告bug 
  4.7 小結 
  
 第5章 IDA數(shù)據(jù)顯示窗口 
  5.1 IDA主要的數(shù)據(jù)顯示窗口 
  5.1.1 反匯編窗口 
  5.1.2 函數(shù)窗口 
  5.1.3 輸出窗口 
  5.2 次要的IDA顯示窗口 
  5.2.1 十六進制窗口 
  5.2.2 導出窗口 
  5.2.3 導入窗口 
  5.2.4 結構體窗口 
  5.2.5 枚舉窗口 
  5.3 其他IDA顯示窗口 
  5.3.1 Strings 窗口 
  5.3.2 Names 窗口 
  5.3.3 段窗口 
  5.3.4 簽名窗口 
  5.3.5 類型庫窗口 
  5.3.6 函數(shù)調(diào)用窗口 
  5.3.7 問題窗口 
  5.4 小結 
  
 第6章 反匯編導航 
  6.1 基本IDA導航 
  6.1.1 雙擊導航 
  6.1.2 跳轉到地址 
  6.1.3 導航歷史記錄 
  6.2 棧幀 
  6.2.1 調(diào)用約定 
  6.2.2 局部變量布局 
  6.2.3 棧幀示例 
  6.2.4 IDA棧視圖 
  6.3 搜索數(shù)據(jù)庫 
  6.3.1 文本搜索 
  6.3.2 二進制搜索 
  6.4 小結 
  
 第7章 反匯編操作 
  7.1 名稱與命名 
  7.1.1 參數(shù)和局部變量 
  7.1.2 已命名的位置 
  7.1.3 寄存器名稱 
  7.2 IDA中的注釋 
  7.2.1 常規(guī)注釋 
  7.2.2 可重復注釋 
  7.2.3 在前注釋和在后注釋 
  7.2.4 函數(shù)注釋 
  7.3 基本代碼轉換 
  7.3.1 代碼顯示選項 
  7.3.2 格式化指令操作數(shù) 
  7.3.3 操縱函數(shù) 
  7.3.4 數(shù)據(jù)與代碼互相轉換 
  7.4 基本數(shù)據(jù)轉換 
  7.4.1 指定數(shù)據(jù)大小 
  7.4.2 處理字符串 
  7.4.3 指定數(shù)組 
  7.5 小結 
  
 第8章 數(shù)據(jù)類型與數(shù)據(jù)結構 
  8.1 識別數(shù)據(jù)結構的用法 
  8.1.1 數(shù)組成員訪問 
  8.1.2 結構體成員訪問 
  8.2 創(chuàng)建IDA結構體 
  8.2.1 創(chuàng)建一個新的結構體(或聯(lián)合) 
  8.2.2 編輯結構體成員 
  8.2.3 用棧幀作為專用結構體 
  8.3 使用結構體模板 
  8.4 導入新的結構體 
  8.4.1 解析C結構體聲明 
  8.4.2 解析C頭文件 
  8.5 使用標準結構體 
  8.6 IDA TIL文件 
  8.6.1 加載新的TIL文件 
  8.6.2 共享TIL文件 
  8.7 C++逆向工程基礎 
  8.7.1 this指針 
  8.7.2 虛函數(shù)和虛表 
  8.7.3 對象生命周期 
  8.7.4 名稱改編 
  8.7.5 運行時類型識別 
  8.7.6 繼承關系 
  8.7.7 C++逆向工程參考文獻 
  8.8 小結 
  
 第9章 交叉引用與繪圖功能 
  9.1 交叉引用 
  9.1.1 代碼交叉引用 
  9.1.2 數(shù)據(jù)交叉引用 
  9.1.3 交叉引用列表 
  9.1.4 函數(shù)調(diào)用 
  9.2 IDA繪圖 
  9.2.1 IDA外部(第三方)圖形 
  9.2.2 IDA的集成繪圖視圖 
  9.3 小結 
  
 第10章 IDA的多種面孔 
  10.1 控制臺模式IDA 
  10.1.1 控制臺模式的共同特性 
  10.1.2 Windows控制臺 
  10.1.3 Linux控制臺 
  10.1.4 OS X控制臺 
  10.2 使用IDA的批量模式 
  10.3 小結 
第三部分 IDA高級應用
 第11章 定制IDA 
  11.1 配置文件 
  11.1.1 主配置文件:ida.cfg 
  11.1.2 GUI配置文件:idagui.cfg 
  11.1.3 控制臺配置文件:idatui.cfg 
  11.2 其他IDA配置選項  
  11.2.1 IDA顏色 
  11.2.2 定制IDA工具欄  
  11.3 小結 
  
 第12章 使用FLIRT簽名來識別庫 
  12.1 快速庫識別和鑒定技術 
  12.2 應用FLIRT簽名 
  12.3 創(chuàng)建FLIRT簽名文件 
  12.3.1 創(chuàng)建簽名概述 
  12.3.2 識別和獲取靜態(tài)庫 
  12.3.3 創(chuàng)建模式文件 
  12.3.4 創(chuàng)建簽名文件 
  12.3.5 啟動簽名 
  12.4 小結 
  
 第13章 擴展IDA的知識 
  13.1 擴充函數(shù)信息 
  13.1.1 IDS文件 
  13.1.2 創(chuàng)建IDS文件 
  13.2 使用loadint擴充預定義注釋 
  13.3 小結 
  
 第14章 修補二進制文件及其他IDA限制 
  14.1 隱藏的補丁程序菜單 
  14.1.1 更改數(shù)據(jù)庫字節(jié) 
  14.1.2 更改數(shù)據(jù)庫中的字 
  14.1.3 使用匯編對話框 
  14.2 IDA輸出文件與補丁生成 
  14.2.1 IDA生成的MAP文件 
  14.2.2 IDA生成的ASM文件 
  14.2.3 IDA生成的INC文件 
  14.2.4 IDA生成的LST文件 
  14.2.5 IDA生成的EXE文件 
  14.2.6 IDA生成的DIF文件 
  14.2.7 IDA生成的HTML文件 
  14.3 小結 
第四部分 擴展IDA的功能
 第15章 編寫IDA腳本 
  15.1 執(zhí)行腳本的基礎知識 
  15.2 IDC語言 
  15.2.1 IDC變量 
  15.2.2 IDC表達式 
  15.2.3 IDC語句 
  15.2.4 IDC函數(shù) 
  15.2.5 IDC對象 
  15.2.6 IDC程序 
  15.2.7 IDC錯誤處理 
  15.2.8 IDC永久數(shù)據(jù)存儲 
  15.3 關聯(lián)IDC腳本與熱鍵 
  15.4 有用的IDC函數(shù) 
  15.4.1 讀取和修改數(shù)據(jù)的函數(shù) 
  15.4.2 用戶交互函數(shù) 
  15.4.3 字符串操縱函數(shù) 
  15.4.4 文件輸入/輸出函數(shù) 
  15.4.5 操縱數(shù)據(jù)庫名稱 
  15.4.6 處理函數(shù)的函數(shù) 
  15.4.7 代碼交叉引用函數(shù) 
  15.4.8 數(shù)據(jù)交叉引用函數(shù) 
  15.4.9 數(shù)據(jù)庫操縱函數(shù) 
  15.4.10 數(shù)據(jù)庫搜索函數(shù) 
  15.4.11 反匯編行組件 
  15.5 IDC腳本示例 
  15.5.1 枚舉函數(shù) 
  15.5.2 枚舉指令 
  15.5.3 枚舉交叉引用 
  15.5.4 枚舉導出的函數(shù) 
  15.5.5 查找和標記函數(shù)參數(shù) 
  15.5.6 模擬匯編語言行為 
  15.6 IDAPython 
  15.7 IDAPython腳本示例 
  15.7.1 枚舉函數(shù) 
  15.7.2 枚舉指令 
  15.7.3 枚舉交叉引用 
  15.7.4 枚舉導出的函數(shù) 
  15.8 小結 
  
 第16章 IDA軟件開發(fā)工具包 
  16.1 SDK簡介 
  16.1.1 安裝SDK 
  16.1.2 SDK的布局 
  16.1.3 配置構建環(huán)境 
  16.2 IDA應用編程接口 
  16.2.1 頭文件概述 
  16.2.2 網(wǎng)絡節(jié)點 
  16.2.3 有用的SDK數(shù)據(jù)類型 
  16.2.4 常用的SDK函數(shù) 
  16.2.5 IDA API迭代技巧 
  16.3 小結 
  
 第17章 IDA插件體系結構 
  17.1 編寫插件 
  17.1.1 插件生命周期 
  17.1.2 插件初始化 
  17.1.3 事件通知 
  17.1.4 插件執(zhí)行 
  17.2 構建插件 
  17.3 插件安裝 
  17.4 插件配置 
  17.5 擴展IDC 
  17.6 插件用戶界面選項 
  17.6.1 使用SDK的“選擇器”對話框 
  17.6.2 使用SDK創(chuàng)建自定義表單 
  17.6.3 僅用于Windows的用戶界面生成技巧 
  17.6.4 使用Qt生成用戶界面 
  17.7 腳本化插件 
  17.8 小結 
  
 第18章 二進制文件與IDA加載器模塊 
  18.1 未知文件分析 
  18.2 手動加載一個Windows PE文件 
  18.3 IDA加載器模塊 
  18.4 使用SDK編寫IDA加載器 
  18.4.1 “傻瓜式”加載器 
  18.4.2 構建IDA加載器模塊 
  18.4.3 IDA pcap加載器 
  18.5 其他加載器策略 
  18.6 編寫腳本化加載器 
  18.7 小結 
  
 第19章 IDA處理器模塊 
  19.1 Python字節(jié)碼 
  19.2 Python解釋器 
  19.3 使用SDK編寫處理器模塊 
  19.3.1 processor_t結構體 
  19.3.2 LPH 結構體的基本初始化 
  19.3.3 分析器 
  19.3.4 模擬器 
  19.3.5 輸出器 
  19.3.6 處理器通知 
  19.3.7 其他processor_t成員 
  19.4 構建處理器模塊 
  19.5 定制現(xiàn)有的處理器 
  19.6 處理器模塊體系結構 
  19.7 編寫處理器模塊 
  19.8 小結 
第五部分 實際應用
 第20章 編譯器變體 
  20.1 跳轉表與分支語句 
  20.2 RTTI實現(xiàn) 
  20.3 定位main函數(shù) 
  20.4 調(diào)試版與發(fā)行版二進制文件 
  20.5 其他調(diào)用約定 
  20.6 小結 
  
 第21章 模糊代碼分析 
  21.1 反靜態(tài)分析技巧 
  21.1.1 反匯編去同步 
  21.1.2 動態(tài)計算目標地址 
  21.1.3 導入的函數(shù)模糊 
  21.1.4 有針對性地攻擊分析工具 
  21.2 反動態(tài)分析技巧 
  21.2.1 檢測虛擬化 
  21.2.2 檢測“檢測工具” 
  21.2.3 檢測調(diào)試器 
  21.2.4 防止調(diào)試 
  21.3 使用IDA對二進制文件進行“靜態(tài)去模糊” 
  21.3.1 面向腳本的去模糊 
  21.3.2 面向模擬的去模糊 
  21.4 基于虛擬機的模糊 
  21.5 小結 
  
 第22章 漏洞分析 
  22.1 使用IDA發(fā)現(xiàn)新的漏洞 
  22.2 使用IDA在事后發(fā)現(xiàn)漏洞 
  22.3 IDA與破解程序開發(fā)過程 
  22.3.1 棧幀細目 
  22.3.2 定位指令序列 
  22.3.3 查找有用的虛擬地址 
  22.4 分析shellcode 
  22.5 小結 
  
 第23章 實用IDA插件 
  23.1 Hex-Rays 
  23.2 IDAPython 
  23.3 collabREate 
  23.4 ida-x86emu 
  23.5 Class Informer 
  23.6 MyNav 
  23.7 IdaPdf 
  23.8 小結 
第六部分 IDA調(diào)試器
 第24章 IDA調(diào)試器 
  24.1 啟動調(diào)試器 
  24.2 調(diào)試器的基本顯示 
  24.3 進程控制 
  24.3.1 斷點 
  24.3.2 跟蹤 
  24.3.3 棧跟蹤 
  24.3.4 監(jiān)視 
  24.4 調(diào)試器任務自動化 
  24.4.1 為調(diào)試器操作編寫腳本 
  24.4.2 使用IDA插件實現(xiàn)調(diào)試器操作自動化 
  24.5 小結 
  
 第25章 反匯編器/調(diào)試器集成 
  25.1 背景知識 
  25.2 IDA數(shù)據(jù)庫與IDA調(diào)試器 
  25.3 調(diào)試模糊代碼 
  25.3.1 啟動進程 
  25.3.2 簡單的解密和解壓循環(huán) 
  25.3.3 導入表重建 
  25.3.4 隱藏調(diào)試器 
  25.4 IDAStealth 
  25.5 處理異?!?br />  25.6 小結 
  
 第26章 其他調(diào)試功能 
  26.1 使用IDA進行遠程調(diào)試 
  26.1.1 使用Hex-Rays調(diào)試服務器 
  26.1.2 連接到遠程進程 
  26.1.3 遠程調(diào)試期間的異常處理 
  26.1.4 在遠程調(diào)試過程中使用腳本和插件 
  26.2 使用Bochs進行調(diào)試 
  26.2.1 Bochs IDB模式 
  26.2.2 Bochs PE模式 
  26.2.3 Bochs磁盤映像模式 
  26.3 Appcall 
  26.4 小結 
附錄A 使用IDA免費版本5.0 
附錄B IDC/SDK交叉引用 

章節(jié)摘錄

版權頁:   插圖:   在這個例子中,我們應用了libc、libcrypto、libkrb5、libresolv及其他庫的簽名。有時候,我們根據(jù)二進制文件中的字符串來選擇簽名。其他情況下,我們選擇與二進制文件中已經(jīng)確定的其他庫關系密切的簽名。最終,導航窗口會在導航帶的中間顯示一個深色的代碼帶,在導航帶的最左邊緣顯示一個更小的深色代碼帶。要確定二進制文件中剩下的非庫代碼的性質(zhì),你需要進行更加深入的分析。在這個例子中,我們知道,中間的深色代碼帶是一種尚未識別的庫,而左側的深色代碼帶則為應用程序代碼。 12.3創(chuàng)建FLIRT簽名文件 如前所述,IDA不可能自帶現(xiàn)有的每一個靜態(tài)庫的簽名文件。為了向IDA用戶提供創(chuàng)建他們自己的簽名所需的工具和信息,Hex—Rays開發(fā)了FLAIR(Fast Library Acquisition for Identificationand Recognition,快速獲取庫的識別和鑒定)工具集,你可以從IDA發(fā)行版光盤上獲得FLAIR工具,被授權用戶也可以從Hex—Rays網(wǎng)站上下載該工具。與IDA的另外幾個附加件一樣,F(xiàn)LAIR工具通過一個Zip文件發(fā)布。Hex—Rays不一定會為每一個版本的IDA發(fā)布新版的FLA瓜工具,因此,只需使用最新版本的FLAIR工具,只要它不高于你的IDA版本即可。 安裝FLAIR實用工具的過程非常簡單,只需解壓相關的Zip文件即可。盡管如此,我們?nèi)匀粡娏医ㄗh你創(chuàng)建一個專用的flair目錄作為目標目錄,因為zip文件可能并不包含一個頂級目錄。解壓FLMR文件后,你會發(fā)現(xiàn)幾個文本文件,它們是FLAJR工具的文檔資料。其中特別有用的文件如下所示。 readme.txt。這個文件總體概述簽名創(chuàng)建過程。 plb.txt。這個文件描述靜態(tài)庫解析器plb.exe的用法。庫解析器將在12.3.3節(jié)中詳細討論。 pat.txt。這個文件詳細說明了模式文件的格式,它是簽名創(chuàng)建過程的第一步。我們還將在 12.3.3節(jié)介紹模式文件。 sigmake.txt。這個文件描述sigmake.exe文件的用法,該文件用于從模式文件生成.sig文件。請參閱12.3.4節(jié)了解詳情。 其他頂級目錄包括bin目錄,其中包括FLAIR工具的所有可執(zhí)行文件和startup目錄,后者包含與各種編譯器及其相關的輸出文件類型(PE、ELF等)有關的常見啟動順序的模式文件。對于6.1之前的版本,F(xiàn)LAIR工具只能在Windows命令提示符下運行,但其生成的簽名文件可以用在所有的IDA版本中(Windows、Linux和OSX)。

編輯推薦

《IDA Pro權威指南(第2版)》適合IT領域的所有安全工作者閱讀。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    IDA Pro權威指南(第2版) PDF格式下載


用戶評論 (總計43條)

 
 

  •   勿在浮沙筑高臺,《IDA Pro 權威指南》的作者從實用的角度向大家描述了利用IDA進行逆向分析時程序的使用方法,言語中肯,從基礎到實用,建議配合著動態(tài)調(diào)試書籍一起看,這本書目前已經(jīng)到第二版了,推薦購買,就是感覺價格稍微有點貴
  •   是IDA PRO開發(fā)者的必備工具書,對我有很幫助,解決了實際難題。
  •   全面介紹了IDA工具,當成工具書來看吧,講了很多使用的技巧
  •   內(nèi)容說的很細!但是必須實現(xiàn)對IDA 方面有點基礎否則很難看懂!
  •   以前用IDA都看的網(wǎng)上資料,眼睛受不了了,還是收一本紙質(zhì)的吧!
  •   IDA工具書,里面講到很多原來不知道的方法,值得擁有!
  •   用來學習逆向的一本好書!
  •   拿到書大致的翻了一下目錄,簡單的閱讀了一下里面的某些章節(jié),發(fā)現(xiàn)寫的真的非常好!深入淺出!當之無愧,權威指南
  •   內(nèi)容相當豐富,敘述詳盡,不愧為權威指南
  •   正在學習挺不錯的, 新手值得推薦
  •   在新華書店找到的一本書,當當可以打折,所以在當當上買了。很專業(yè)的一本書,國外翻譯過來的,對于這方面感興趣的同學推薦可以看看這本。很棒,比中國本土的要好太多了。
  •   質(zhì)量不錯,內(nèi)容屬于專業(yè)領域,業(yè)內(nèi)口碑不錯
  •   不錯的一本書,講解很到位,是一本值得收藏的好書啊,&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;
  •   想學破解數(shù)據(jù)的書 不過太難了
  •   很好哦,正版,而且價格是最低的~~~
  •   已經(jīng)看完第一章
  •   還沒開始看了。應該很有用。
  •   以前有第一版的電子版,現(xiàn)在買本第二版收藏!
  •   經(jīng)典好書,值得品味
  •   內(nèi)容不必多說,好。 翻譯得也好。
  •   不管好不好,反正介紹IDA的書也只有這本了吧。
    不管想不想從事逆向工程,多了解些總是有好處的。
    雖然有電子版下載,但是想學習就不要怕多花幾十塊錢。
  •   學逆向必備書籍,能學到不少。
  •   知識就是力量。學習中
  •   如上,書很喜歡,可惜影響心情
  •   書挺好,內(nèi)容詳實。
  •   書的內(nèi)容還不錯。。。但是,包裹沒包好,拿到書的時候,書面已有明顯“被虐待”的傷痕。。。。
  •   就是比別的地稍貴幾塊錢
  •   不過出現(xiàn)印刷錯誤,多了10幾頁!(開心還是傷心呢?因為不是少所以就沒換
  •   黑客的首選,不解釋,很棒的教材
  •   物流的速度太慢了
  •   封面裂開不說;后半部都脫膠了
  •   這本書是第二版,覺得非常不錯,很實用!
  •   裝訂牢固,干凈,紙張新。
  •   對IDA介紹很全面,很權威,其中的C++逆向的基本內(nèi)容介紹也很受用??傊芎?,后面編寫腳本的高級用法我還沒有看。。。
  •   接觸逆向不長時間,看此書很有心得,學到不少逆向的分析方法。主要是通過此書了解IDA的使用。當然對那些大牛來說可能沒用,不過既然都是大牛了,還買這類書干啥……
  •   權威指南的確很權威,畢竟這類工具書針對性強,譯的還行
  •   就是垃圾 不適合任何人看,新手靠它入門不可能,沒講什么有用的,老手估計不會喜歡讓我兩天就看完的垃圾,是我買過的最失敗的一本書,特地來提醒大家
  •   hacker 必備書籍
  •   IDA Pro權威指南(第2版)
  •   就是一個手冊
  •   看雪必讀經(jīng)典
  •   經(jīng)典必備書籍 不解釋
  •   IDA黑客神器
 

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

京ICP備13047387號-7