內容簡介

本書闡述了IDA Pro逆向工程代碼破解的精髓,細致而全面地講述了如何利用IDA Pro挖掘並分析軟件中的漏洞。同時也展示了如何對病毒、蠕蟲和木馬程序的源代碼進行分析,從而達到破解的目的。本書注重實踐,有大量圖示和示例代碼供參考使用,可讀性和可操作性極強。

本書適合從事逆向工程和計算機安全工作的程序員閱讀。


Dan Kaminsky,IOActive公司的滲透測試主管。Dan自1999年起(在去Cisco及Avaya上班前)在安全圈內就非常活躍。使他廣為人知的是他在黑帽子大會上一系列的“Black Ops”演講,此外,他還是唯一一位出席並在每屆微軟內部訓練活動“Blue Hat”上發言的人。Dan致力于設計層面的故障分析,特別針對大規模的網絡應用程序。Dan經常收集世界各地互聯網的詳細健康數據,最近用這些數據檢測大部分rootkit在世界各地的繁殖情況。Dan是這個世界上少數幾個同時擁有技術專長及執行層咨詢技巧和能力的人。
 

目錄

第1章 導言
1.1 代碼調試器概述
1.2 小結
第2章 匯編及逆向工程基礎
2.1 導言
2.2 匯編語言及IA-32處理器
2.3 棧、堆及二進制可執行文件中的其他區段
2.4 最新的IA-32指令集及參考資料
2.5 小結
第3章 可移植可執行文件格式和可執行鏈接格式
3.1 導言
3.2 可移植可執行文件格式
3.3 可執行鏈接格式
3.4 小結
第4章 實戰1
4.1 導言
4.2 跟蹤執行流
4.3 快速跟蹤並找出解決方案
4.4 常見問題
第5章 調試
5.1 導言
5.2 調試的基礎知識
5.2.1 斷點
5.2.2 單步
5.2.3 監視
5.2.4 異常
5.2.5 跟蹤
5.3 使用IDA Pro進行調試
5.4 調試技術在逆向工程中的應用
5.5 堆和棧的訪問和修改
5.6 其他調試器
5.6.1 Windbg
5.6.2 Ollydbg
5.6.3 immdbg
5.6.4 PaiMei/PyDbg
5.6.5 GDB
5.7 小結
第6章 反逆向技術
6.1 導言
6.2 調試
6.3 舉例闡述
6.4 混淆技術
6.5 小結
第7章 實戰2
7.1 協議問題
7.2 協議結構
7.2.1 分幀與重組
7.2.2 自相似性
7.2.3 Hit Marking
7.2.4 Hitlist示例
第8章 高級攻略
8.1 導言
8.2 逆向分析惡意軟件
第9章 IDA腳本編寫和插件
9.1 導言
9.2 IDA腳本編寫基礎
9.3 IDC語法
9.3.1 輸出
9.3.2 變量
9.3.3 條件
9.3.4 循環
9.3.5 函數
9.3.6 全局變量
9.4 簡單腳本示例
9.5 編寫IDC腳本
9.5.1 用IDC解決問題
9.5.2 新的IDC調試器功能
9.5.3 有用的IDC函數
9.6 IDA插件基礎
9.6.1 模塊/插件資源
9.6.2 IDA Pro SDK介紹
9.7 插件語法
9.8 設置開發環境
9.9 簡單插件示例
9.9.1 Hello World插件
9.9.2 find memcpy插件
9.10 間接調用插件
9.10.1 收集數據
9.10.2 用戶接口
9.10.3 實現回調
9.10.4 顯示結果
9.11 插件開發和調試策略
9.11.1 創建一個新的IDA開發目錄
9.11.2 編輯配置文件
9.12 加載器
9.13 處理器模塊
9.14 第三方腳本插件
9.14.1 IDAPython
9.14.2 IDARub
9.15 常見問題
 

IDA Pro是一款非常優秀的反匯編工具,功能強大,對于有經驗的程序員和軟件安全相關技術人員來說是必用的工具。也許因為它過于強大和專業了,雖然很多人擁有它,但卻難以熟練使用它,以至于很難發揮它強大的功能。同時很遺憾的是,IDA Pro附帶提供的用戶手冊內容比較簡潔,這同樣增加了使用者了解和自如應用這款工具解決問題並將其變為利器的難度。

幸運的是,Dan Kaminsky(知名的安全專家,或者說世界著名的黑客,你可以在網上查到他的個人信息)和他的朋友不辭辛勞,為我們撰寫了一部針對IDA Pro的應用指導性書籍ReverseEngineering Code with IDA Pro。也許你已經注意到,國內外的讀者和專業人士對本書的評價有很大爭議。不可否認的是,作為IDA Pro的技術參考書,它的價值還是被大多數讀者認可的,至少我個人是這麼認為的。當然,其原著是英文版,對于國內的讀者來說,這同樣是個問題。

我很高興看到Reverse Engineering Code with IDA Pro的中文版能夠出版,這是看雪論壇翻譯小組的兄弟們經過不懈努力帶給我們大家的一份厚禮。更為難能可貴的是,他們都是利用業余時間憑借堅韌的毅為來完成這項工作的,這種吃苦和執著的精神正是我們這些程序員最為可貴的品質,我對他們的努力和成果表示由衷的祝賀和欣喜。

對于一部翻譯作品,特別是技術書籍的翻譯作品,在技術術語和基本含義正確的情況下,我們也許不該過多苛求信、達、雅的意境。同時我也注意到,本書的譯者在一些非技術性描述的語句和章節中融入了意譯,我認為這是可以接受和理解的。我認為在翻譯技術書籍時,也能夠並且應該可以表達譯者的情感和思想,而非簡單的直譯。如果一味直譯,讀者可能會感到乏味和枯燥;在譯作中融入譯者的思想,就體現了譯者的個性和精神。

看雪軟件安全論壇已經走過十年,出版了不少廣受讀者歡迎的專業書籍,我希望本書能夠繼往開來,成為我們輝煌歷程的新里程碑。再次感謝本書的全體譯者,我堅信你們的努力能夠被讀者認可。

為了看雪下一個更加精彩的十年,讓我們一起攜手共進。

段鋼
于北京
網路書店 類別 折扣 價格
  1. 新書
    87
    $256