二進制安全基礎

鄭天明

  • 二進制安全基礎-preview-1
  • 二進制安全基礎-preview-2
  • 二進制安全基礎-preview-3
二進制安全基礎-preview-1

買這商品的人也買了...

相關主題

商品描述

《二進制安全基礎》為二進制安全技術知識普及與技術基礎教程,不僅能為初學二進制安全技術的讀者提供全面、實用的C語言反匯編知識,而且能有效培養讀者的漏洞挖掘和軟件逆向分析基礎能力。《二進制安全基礎》配套示例源碼、PPT課件、教學大綱、教案、習題答案、作者QQ群答疑。 《二進制安全基礎》共12章,內容包括二進制安全概述、基本數據類型、表達式、流程控制、函數、變量、數組和指針、結構體、C++反匯編、其他編程知識、二進制漏洞挖掘(PWN)、軟件逆向分析。 《二進制安全基礎》適合二進制安全初學者和網絡安全從業人員,也適合作為應用型本科與高職高專網絡空間安全、信息安全類專業的教材。

目錄大綱

目    錄

 

第1章  二進制安全概述 1

1.1  匯編指令 1

1.1.1  寄存器 1

1.1.2  指令集 6

1.2  編譯環境 8

1.2.1  x86環境 8

1.2.2  ARM環境 9

1.2.3  MIPS環境 11

1.3  常用工具 12

1.3.1  PE工具 12

1.3.2  OllyDbg工具 14

1.3.3  IDA Pro工具 15

1.4  本章小結 17

1.5  習題 18

第2章  基本數據類型 19

2.1  整數 19

2.1.1  無符號整數 19

2.1.2  有符號整數 21

2.2  浮點數 21

2.2.1  浮點指令 22

2.2.2  編碼 22

2.3  字符和字符串 24

2.4  布爾型 27

2.5  指針 28

2.6  常量 30

2.7  案例 32

2.8  本章小結 33

2.9  習題 34

第3章  表達式 35

3.1  算術運算 35

3.1.1  四則運算 35

3.1.2  自增和自減 41

3.2  關系運算和邏輯運算 42

3.3  位運算 49

3.4  案例 52

3.5  本章小結 54

3.6  習題 54

第4章  流程控制 56

4.1  if語句 56

4.1.1  單分支 56

4.1.2  雙分支 57

4.1.3  多分支 58

4.2  switch語句 60

4.3  while/for語句 66

4.3.1  while循環語句 66

4.3.2  for循環語句 68

4.4  案例 69

4.5  本章小結 72

4.6  習題 72

第5章  函數 74

5.1  函數棧 74

5.2  函數參數 75

5.3  函數調用類型 77

5.4  函數返回值 81

5.5  案例 82

5.6  本章小結 85

5.7  習題 85

第6章  變量 87

6.1  全局變量 87

6.2  靜態變量 88

6.3  堆變量 90

6.4  案例 93

6.5  本章小結 96

6.6  習題 96

第7章  數組和指針 98

7.1  數組 98

7.1.1  數組作為參數 99

7.1.2  數組作為返回值 100

7.1.3  多維數組 101

7.2  指針 102

7.2.1  指針數組 102

7.2.2  數組指針 106

7.2.3  函數指針 108

7.3  案例 109

7.4  本章小結 112

7.5  習題 112

第8章  結構體 114

8.1  結構體變量內存分配 114

8.2  結構體對象作為函數參數 120

8.2.1  值傳遞 120

8.2.2  地址傳遞 122

8.3  結構體對象作為函數返回值 124

8.4  案例 125

8.5  本章小結 127

8.6  習題 127

第9章  C++反匯編 129

9.1  構造函數和析構函數 129

9.1.1  局部對象 129

9.1.2  全局對象 130

9.1.3  堆對象 133

9.1.4  參數對象 135

9.1.5  返回值對象 137

9.2  虛函數 139

9.3  繼承與多態 143

9.4  本章小結 150

9.5  習題 150

第10章  其他編程知識 151

10.1  C語言常用功能 151

10.1.1  文件處理 151

10.1.2  多線程 152

10.1.3  網絡 155

10.2  數據結構和算法 159

10.2.1  線性結構 160

10.2.2  樹 172

10.2.3  排序算法 178

10.3  本章小結 190

第11章  二進制漏洞挖掘(PWN) 191

11.1  Linux安全機制 191

11.1.1  Stack Canaries 191

11.1.2  No-eXecute 193

11.1.3  ASLR 193

11.1.4  RELRO 195

11.2  pwntools 196

11.3  shellcode 197

11.3.1  編寫shellcode 197

11.3.2  通過pwntools生成

shellcode 200

11.3.3  使用其他方式獲取

shellcode 200

11.4  整數溢出 201

11.5  格式化字符串漏洞 203

11.5.1  數據泄露 204

11.5.2  數據寫入 205

11.6  棧溢出與ROP 205

11.6.1  ret2text 205

11.6.2  ret2shellcode 207

11.6.3  ret2libc 210

11.7  堆溢出 217

11.7.1  堆基本數據結構 217

11.7.2  堆空閑管理結構 218

11.7.3  malloc基本流程 219

11.7.4  free基本流程 220

11.7.5  堆溢出漏洞 220

11.8  本章小結 235

第12章  軟件逆向分析 236

12.1  文件格式 236

12.1.1  PE文件格式 236

12.1.2  ELF文件格式 241

12.2  加密算法識別 244

12.2.1  Base64 244

12.2.2  MD5 245

12.2.3  TEA 245

12.2.4  DES 246

12.2.5  RC4 247

12.2.6  算法識別 248

12.3  加殼與脫殼 249

12.3.1  基本概念 249

12.3.2  脫殼方法 250

12.4  分析案例 251

12.4.1  CTF案例 251

12.4.2  CrackMe案例 256

12.4.3  病毒分析 264

12.5  本章小結 269