逆向分析實戰, 2/e
冀雲
買這商品的人也買了...
-
$534$507 -
$534$507 -
$834$792 -
$450$356 -
$420$332 -
$800$600 -
$650$553 -
$1,000$660 -
$620$409 -
$1,223Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 5/e
-
$297CKA/CKAD 應試指南 : 從 Docker 到 Kubernetes 完全攻略
-
$662二進制分析實戰
-
$620$465 -
$890$587 -
$480$360 -
$780$608 -
$580$458 -
$650$507 -
$520$390 -
$500$330 -
$1,080$713 -
$880$695 -
$880$748 -
$580$435 -
$880$695
相關主題
商品描述
黑客編程和逆向分析是電腦安全從業者需要掌握的兩項基本功,隨著各大企業對安全技術的日益重視,工程師在這方面的學習需求也在持續增長。
本書共11章,既包括黑客編程的內容,如數據的存儲及表示形式、匯編語言入門;又包括逆向分析的知識,如熟悉調試工具OD、PE工具詳解、PE文件格式實例(包括加殼與脫殼工具的使用)、十六進制編輯器與反編譯工具、IDA與逆向、逆向工具的原理及實現、安卓逆向分析。此外,本書還介紹了電腦安全的新技術,如DEX文件格式解析和Dalvik指令解析等。
本書既可以作為網絡編程人員、安全技術研究人員和安全技術愛好者的參考書,又可以作為大專院校電腦相關專業的教學用書或相關培訓機構的教材。
作者簡介
冀云,安全技术工程师,热爱分享,擅长安全技术。《C++ 黑客编程揭秘与防范》作者。
目錄大綱
目錄
第 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 在OllyDbg中查看數據 6
1.4 編程判斷主機字節序 11
1.4.1 字節序相關函數 11
1.4.2 編程判斷主機字節序 11
1.5 總結 12
第 2章 匯編語言入門 13
2.1 x86匯編語言介紹 13
2.1.1 寄存器 13
2.1.2 在OD中認識寄存器 17
2.2 常用匯編指令集 19
2.2.1 指令介紹 19
2.2.2 常用指令介紹 20
2.3 尋址方式 35
2.4 總結 36
第3章 熟悉調試工具OD 37
3.1 認識OD調試環境 37
3.1.1 啟動調試 37
3.1.2 熟悉OD窗口 39
3.2 OD中的斷點及跟蹤功能 44
3.2.1 OD中設置斷點的方法 44
3.2.2 OD中跟蹤代碼的方法 50
3.3 OD中的查找功能和編輯功能 51
3.3.1 OD中的查找功能 51
3.3.2 OD中的修改和保存功能 52
3.4 OD中的插件功能 53
3.4.1 OD的常用插件介紹 53
3.4.2 OD插件腳本編寫 55
3.4.3 OD插件的開發 56
3.5 總結 61
第4章 PE工具詳解 62
4.1 常用PE工具介紹 62
4.1.1 PE工具 62
4.1.2 Stud_PE工具 63
4.1.3 PEiD工具 64
4.1.4 LordPE工具 64
4.2 PE文件格式詳解 65
4.2.1 PE文件格式概述 66
4.2.2 詳解PE文件格式 68
4.2.3 PE文件格式的3種地址 82
4.3 數據目錄相關結構詳解 88
4.3.1 導入表 88
4.3.2 導出表 101
4.3.3 重定位表 107
4.4 總結 115
第5章 PE文件格式實例 116
5.1 手寫PE文件 116
5.1.1 手寫PE文件的準備工作 116
5.1.2 用十六進制字節完成PE文件 117
5.2 手動壓縮PE文件 129
5.2.1 修改壓縮節區 129
5.2.2 節表合並 132
5.2.3 結構重疊 137
5.3 PE文件格式相關工具 145
5.3.1 增加節區 145
5.3.2 資源編輯 146
5.4 加殼與脫殼工具 151
5.4.1 什麽是殼 151
5.4.2 簡單殼的原理 151
5.4.3 加殼工具與脫殼工具的使用 162
5.5 PE32+簡介 175
5.5.1 文件頭 175
5.5.2 可選頭 175
5.6 總結 177
第6章 十六進制編輯器與反編譯工具 178
6.1 C32Asm 178
6.1.1 文件的打開方式 178
6.1.2 反匯編模式 180
6.1.3 十六進制模式 184
6.2 WinHex 188
6.2.1 內存搜索功能 188
6.2.2 使用模板解析數據 191
6.2.3 完成一個簡單的模板 193
6.3 其他十六進制編輯器 194
6.3.1 UltraEdit簡介 195
6.3.2 010 Editor簡介 195
6.4 反編譯工具介紹 196
6.4.1 DeDe反編譯工具 197
6.4.2 VB反編譯工具 200
6.4.3 .NET反編譯工具 202
6.4.4 Java反編譯工具 204
6.5 總結 205
第7章 IDA與逆向 206
7.1 IDA工具介紹 206
7.1.1 IDA的啟動與關閉 206
7.1.2 IDA常用界面介紹 209
7.1.3 IDA的腳本功能 221
7.2 C語言代碼逆向基礎 224
7.2.1 函數的識別 224
7.2.2 if…else…結構分析 234
7.2.3 switch…case…default結構分析 237
7.2.4 循環結構分析 239
7.3 總結 243
第8章 逆向工具的原理及實現 244
8.1 PE工具的開發 244
8.1.1 GetProcAddress函數的使用 244
8.1.2 GetProcAddress函數的實現 245
8.2 調試工具的開發 249
8.2.1 常見的3種斷點 249
8.2.2 調試API函數及相關結構體 253
8.2.3 打造一個密碼顯示器 263
8.3 總結 267
第9章 安卓逆向分析 268
9.1 安卓開發環境的搭建 268
9.1.1 JDK的安裝 268
9.1.2 Android Studio的安裝 269
9.1.3 Android虛擬設備的創建 270
9.2 創建第 一個Android App 272
9.2.1 創建一個HelloWorld程序 273
9.2.2 Android項目結構簡介 275
9.2.3 為Android程序添加簡單的功能 275
9.3 簡單逆向安卓程序 280
9.3.1 Android Killer工具 280
9.3.2 修改app-release文件 281
9.4 Android Studio調試Smali代碼 285
9.4.1 Smalidea插件的安裝 285
9.4.2 調試Smali代碼 286
9.5 Android App其他逆向工具簡介 288
9.5.1 JEB工具 289
9.5.2 jadx工具 291
9.5.3 Android逆向助手 292
9.6 總結 293
第 10章 DEX文件格式解析 294
10.1 DEX文件解析 294
10.1.1 準備一個待解析的DEX文件 294
10.1.2 DEX文件格式詳解 297
10.2 實現DEX文件格式解析工具 324
10.2.1 解析工具所需的結構體 324
10.2.2 解析DEX文件 325
10.3 小結 341
第 11章 Dalvik指令解析 342
11.1 Smali文件結構 342
11.1.1 文件結構 342
11.1.2 數據類型 345
11.1.3 函數定義 346
11.2 Smali指令介紹 346
11.2.1 Smali格式介紹 346
11.2.2 常用指令分類 348
11.2.3 代碼閱讀 350
11.3 完成DEX文件格式最後部分的解析 355
11.3.1 DexCode結構體的回顧 355
11.3.2 字節碼轉Smali指令 356
11.3.3 反匯編功能的實現 360
11.4 總結 371
參考文獻 372