逆向分析實戰pdf

圖書網
圖書網
圖書網
10915
文章
1665
評論
2019年7月29日21:24:20 評論 300
摘要

本書是《C++黑客編程揭秘與防范》的姊妹篇,本書同樣是幫助無基礎的讀者能夠快速入門逆向工具使用的書籍,它彌補了《C++黑客編程揭秘與防范》中沒有介紹逆向工具的不足。
本書將使初讀者可以快速掌握OD、IDA等常用主流逆向工具的使用,并了解和熟悉逆向工具的工作原理,為以后深入學習逆向知識打下良好的基礎。

逆向分析實戰 內容簡介

本書的主要內容為:數據的存儲及表示形式、匯編語言入門、熟悉調試工具OllyDbg、PE工具詳解、PE文件格式實例(包括加殼與脫殼工具的使用)、十六進制編輯器與反編譯工具、IDA與逆向、逆向工具原理實現等。

本書可以作為程序員、安全技術的研究人員、安全技術愛好者閱讀。

逆向分析實戰 目錄

第 1章 數據的存儲及表示形式 1

1.1 進制及進制的轉換 1

1.1.1 現實生活中的進制與計算機的二進制 1

1.1.2 進制的定義 2

1.1.3 進制的轉換 2

1.2 數據寬度、字節序和ASCII碼 4

1.2.1 數據的寬度 4

1.2.2 數值的表示范圍 4

1.2.3 字節序 5

1.2.4 ASCII碼 6

1.3 在OD中查看數據 6

1.4 編程判斷主機字符序 11

1.4.1 字節序相關函數 11

1.4.2 編程判斷主機字節序 11

1.5 總結 13

第 2章 匯編語言入門 14

2.1 x86匯編語言介紹 14

2.1.1 寄存器 15

2.1.2 在OD中認識寄存器 19

2.2 常用匯編指令集 20

2.2.1 指令介紹 20

2.2.2 常用指令介紹 21

2.3 尋址方式 36

2.4 總結 37

第3章 熟悉調試工具OllyDbg 39

3.1 認識OD調試環境 39

3.1.1 啟動調試 39

3.1.2 熟悉OD窗口 42

3.2 OD中的斷點及跟蹤功能 46

3.2.1 OD中設置斷點的方法 47

3.2.2 OD中跟蹤代碼的介紹 52

3.3 OD中的查找功能和編輯功能 53

3.3.1 OD的搜索功能 53

3.3.2 OD修改的編輯功能 55

3.4 OD中的插件功能 56

3.4.1 OD常用插件介紹 56

3.4.2 OD插件腳本編寫 58

3.4.3 OD插件的開發 59

3.5 總結 63

第4章 PE工具詳解 64

4.1 常用PE工具介紹 64

4.1.1 PE工具 64

4.1.2 Stud_PE介紹 65

4.1.3 PEiD介紹 66

4.1.4 LordPE介紹 66

4.2 PE文件格式詳解 67

4.2.1 PE文件結構全貌介紹 68

4.2.2 詳解PE文件結構 70

4.2.3 PE結構的三種地址 84

4.3 數據目錄相關結構詳解 90

4.3.1 導入表 91

4.3.2 導出表 104

4.3.3 重定位表 110

4.4 總結 118

第5章 PE文件格式實例 119

5.1 手寫PE文件 119

5.1.1 手寫PE文件的準備工作 119

5.1.2 用十六進制字節完成PE文件 120

5.2 手工對PE文件進行減肥 132

5.2.1 修改壓縮節區 132

5.2.2 節表合并 135

5.2.3 結構重疊 140

5.2.4 小結 148

5.3 PE結構相關工具 148

5.3.1 增加節區 148

5.3.2 資源編輯 149

5.4 加殼與脫殼工具的使用 154

5.4.1 什么是殼 154

5.4.2 簡單殼的原理 155

5.4.3 加殼工具與脫殼工具的使用 166

5.5 PE32+簡介 180

5.5.1 文件頭 180

5.5.2 可選頭 181

5.6 總結 182

第6章 十六進制編輯器與反編譯工具 183

6.1 C32Asm 183

6.1.1 文件的打開方式 183

6.1.2 反匯編模式 185

6.1.3 十六進制模式 189

6.2 WinHex 193

6.2.1 內存搜索功能 194

6.2.2 使用模板解析數據 196

6.2.3 完成一個簡單的模板 198

6.3 其他十六進制編輯器 200

6.3.1 UltraEdit簡介 200

6.3.2 010Editor簡介 201

6.4 反編譯工具介紹 202

6.4.1 DeDe反編譯工具 202

6.4.2 VB反編譯工具 206

6.4.3 .NET反編譯工具 208

6.4.4 Java反編譯工具 211

6.5 總結 211

第7章 IDA與逆向 213

7.1 IDA工具介紹 213

7.1.1 IDA的啟動與關閉 213

7.1.2 IDA常用界面介紹 216

7.1.3 IDA的腳本功能 228

7.2 C語言代碼逆向基礎 231

7.2.1 函數的識別 232

7.2.2 if…else…結構分析 242

7.2.3 switch結構分析 244

7.2.4 循環結構分析 247

7.3 總結 252

第8章 逆向工具原理實現 253

8.1 PE工具的開發 253

8.1.1 GetProcAddress函數的使用 253

8.1.2 GetProcAddress函數的實現 254

8.2 調試工具的開發 238

8.2.1 常見的三種斷點 259

8.2.2 調試API函數及相關結構體介紹 262

8.2.3 打造一個密碼顯示器 273

8.3 總結 277

參考文獻 278

逆向分析實戰 精彩文摘

了解進制的概念及進制的轉換是學習逆向的基礎,因為計算機使用的進制是二進制,它又不同于我們現實生活中使用的十進制,因此我們必須學習不同的進制及進制之間的轉換。

1.1.1 現實生活中的進制與計算機的二進制

我們在現實生活中會接觸到多種多樣的進制,通常見到的有十進制、十二進制和二十四進制等。下面分別對這幾種進制進行舉例說明。

十進制是每個人從上學就開始接觸和學習的進制表示方法。所謂的十進制,就是逢十進一,最簡單的例子就是 9+1=10。這個無需過多解釋。

十二進制也是我們日常生活中常見的表示方法。所謂的十二進制,就是逢十二進一,例如 12 個月為 1 年,13 個月就是 1 年 1 個月。

二十四進制也是我們日常生活中常見的表示方法。所謂的二十四進制,就是逢二十四進一,例如 24 小時為 1 天,25 小時就是 1 天 1 小時。

介紹了以上現實生活中的例子后,我們再來說說計算機中的二進制。根據前面各種進制的解釋,我們可以想到,二進制就是逢二進一。這里舉個不太恰當的例子,例如 2 斤就是 1 公斤。

圖書網:逆向分析實戰pdf

繼續閱讀
資源地址:用心發表評論,談談你的看法,說不定有意向不到的收獲。
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
程序員之禪pdf 程序設計

程序員之禪pdf

程序員之禪 作者: Christian Grobmeier 程序員之禪 出版社:人民郵電出版社 程序員之禪 內容簡介 禪是一種生活態度和生活方式。程序員是一份特別辛苦的職業,也是一個承受各種壓力的群體...
C++覆轍錄pdf 程序設計

C++覆轍錄pdf

C++覆轍錄 作者:(美)STEPHEN C. DEWHURST C++覆轍錄 出版社:人民郵電出版社 C++覆轍錄 內容簡介 《C++覆轍錄》是C++大師Stephen C. Dewhurst根據多...
JRockit權威指南 深入理解JVMpdf 程序設計

JRockit權威指南 深入理解JVMpdf

作為曾經的三大主流Java虛擬機之一,JRockit展示了強大的伸縮性和高勁的性能,現在雖已被內置于Oracle融合中間件中,但JVM原理以及JMC工具等內容是相通的。 本書由JR...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: