★二進位安全概述
★基底資料型態
★運算式,流程控制
★函數,變數
★陣列和指標,結構
★C++反組譯
★其他程式設計知識
★二進位漏洞挖掘
★軟體逆向分析
本書為二進位安全技術知識普及與技術基礎教程,不僅能為初學二進位安全技術的讀者提供全面、實用的C語言反組譯知識,而且能有效培養讀者的漏洞挖掘和軟體逆向分析基礎能力。全書共12章,內容包括二進位安全概述、基底資料型態、運算式、流程控制、函數、變數、陣列和指標、結構、C++反組譯、其他程式設計知識、二進位漏洞挖掘(PWN)、軟體逆向分析。本書適合二進位安全初學者和網路安全從業人員,也適合作為應用型網路空間安全、資訊安全類專業的教材。
作者簡介:
鄭天明
周口師範學院電腦科學與技術學院講師、教研室主任。擁有多年軟體發展、滲透測試教學經驗。
作者序
前言
網路安全中的二進位安全技術常用於軟體破解、病毒分析、逆向工程、軟體漏洞挖掘等領域,學習和理解反組譯技術對軟體偵錯、系統漏洞挖掘、理解核心原理和高階語言程式有相當大的幫助。
關於本書
本書以網路空間安全中常見的二進位安全技術為主線,詳細介紹 C 語言反組譯技術、二進位漏洞挖掘和逆向分析基礎知識。
全書共分為12 章,內容包括C 語言基底資料型態、運算式、流程控制、函數、變數、陣列和指標、結構的組合語言表現形式;C++ 的建構函數和解構函數、虛函數、繼承和多態的組合語言表現形式;堆疊溢位、堆積溢位等漏洞挖掘基礎;檔案格式、加密演算法辨識、加殼和脫殼等軟體逆向分析基礎等。
本書內容由淺入深、循序漸進,注重實踐操作。在操作過程中,隨選講解涉及的理論知識,拋開純理論介紹,做到因材施教。書中案例步驟詳細,既便於課堂教學,也便於讀者自學。
本書讀者
本書適合二進位安全技術初學者、系統安全研究人員、底層軟體開發人員、病毒分析人員。本書可以作為企事業單位網路安全從業人員的技術參考用書,也可作為應用型高等院校資訊安全、網路空間安全及其相關專業的大學生和專科生的教材。
重要提示
本書所有案例均在實驗環境下進行,目的是培養網路安全人才,維護網路安全,減少由網路安全問題帶來的各項損失,使個人、企業的網路更加安全,請勿用於其他用途。由於編者水準有限,書中難免存在疏漏和不足,懇請同行專家和讀者給予批評和指正。
編者
前言
網路安全中的二進位安全技術常用於軟體破解、病毒分析、逆向工程、軟體漏洞挖掘等領域,學習和理解反組譯技術對軟體偵錯、系統漏洞挖掘、理解核心原理和高階語言程式有相當大的幫助。
關於本書
本書以網路空間安全中常見的二進位安全技術為主線,詳細介紹 C 語言反組譯技術、二進位漏洞挖掘和逆向分析基礎知識。
全書共分為12 章,內容包括C 語言基底資料型態、運算式、流程控制、函數、變數、陣列和指標、結構的組合語言表現形式;C++ 的建構函數和解構函數、虛函數、繼承和多態的組合語言表現形式;堆疊溢位、堆積溢位等漏洞挖...
目錄
第 1 章 二進位安全概述
1.1 組合語言指令
1.1.1 暫存器
1.1.2 指令集
1.2 編譯環境
1.2.1 x86 環境
1.2.2 ARM 環境
1.2.3 MIPS 環境
1.3 常用工具
1.3.1 PE 工具
1.3.2 OllyDbg 工具
1.3.3 IDA Pro 工具
1.4 本章小結
1.5 習題
第 2 章 基底資料型態
2.1 整數
2.1.1 無正負號的整數
2.1.2 有號整數
2.2 浮點數
2.2.1 浮點指令
2.2.2 編碼
2.3 字元和字串
2.4 布林類型
2.5 指標
2.6 常數
2.7 案例
2.8 本章小結
2.9 習題
第 3 章 運算式
3.1 算術運算
3.1.1 四則運算
3.1.2 自動增加和自減
3.2 關係運算和邏輯運算
3.3 位元運算
3.4 案例
3.5 本章小結
3.6 習題
第 4 章 流程控制
4.1 if 敘述
4.1.1 單分支
4.1.2 雙分支
4.1.3 多分支
4.2 switch 敘述
4.3 while/for 敘述
4.3.1 while 迴圈敘述
4.3.2 for 迴圈敘述
4.4 案例
4.5 本章小結
4.6 習題
第 5 章 函數
5.1 函數堆疊
5.2 函數參數
5.3 函數呼叫類型
5.4 函數傳回值
5.5 案例
5.6 本章小結
5.7 習題
第 6 章 變數
6.1 全域變數
6.2 靜態變數
6.3 堆積變數
6.4 案例
6.5 本章小結
6.6 習題
第 7 章 陣列和指標
7.1 陣列
7.1.1 陣列作為參數
7.1.2 陣列作為傳回值
7.1.3 多維陣列
7.2 指標
7.2.1 指標陣列
7.2.2 陣列指標
7.2.3 函數指標
7.3 案例
7.4 本章小結
7.5 習題
第 8 章 結 構
8.1 結構變數記憶體分配
8.2 結構物件作為函數參數
8.2.1 值傳遞
8.2.2 位址傳遞
8.3 結構物件作為函數傳回值
8.4 案例
8.5 本章小結
8.6 習題
第 9 章 C++ 反組譯
9.1 建構函數和解構函數
9.1.1 局部物件
9.1.2 全域物件
9.1.3 堆積物件
9.1.4 參數物件
9.1.5 傳回值物件
9.2 虛擬函數
9.3 繼承與多態
9.4 本章小結
9.5 習題
第 10 章 其他程式設計知識
10.1 C 語言其他
10.1.1 檔案處理
10.1.2 多執行緒
10.1.3 網路
10.2 資料結構和演算法
10.2.1 線性結構
10.2.2 樹
10.2.3 排序演算法
10.3 本章小結
第 11 章 二進位漏洞挖掘(PWN)
11.1 Linux 安全機制
11.1.1 Stack Canaries
11.1.2 No-eXecute
11.1.3 ASLR
11.1.4 RELRO
11.2 pwntools
11.3 shellcode
11.3.1 撰寫shellcode
11.3.2 透過pwntools 生成shellcode
11.3.3 使用其他方式獲取shellcode
11.4 整數溢出
11.5 格式化字串漏洞
11.5.1 資料洩露
11.5.2 資料寫入
11.6 堆疊溢位與ROP
11.6.1 ret2text
11.6.2 ret2shellcode
11.6.3 ret2libc
11.7 堆積溢出
11.7.1 堆積基本資料結構
11.7.2 堆積空閒管理結構
11.7.3 malloc 基本流程
11.7.4 free 基本流程
11.7.5 堆積溢位漏洞
11.8 本章小結
第 12 章 軟體逆向分析
12.1 檔案格式
12.1.1 PE 檔案格式
12.1.2 ELF 檔案格式
12.2 加密演算法辨識
12.2.1 Base64
12.2.2 MD5
12.2.3 TEA
12.2.4 DES
12.2.5 RC4
12.2.6 演算法辨識
12.3 加殼與脫殼
12.3.1 基本概念
12.3.2 脫殼方法
12.4 分析案例
12.4.1 CTF 案例
12.4.2 CrackMe 案例
12.4.3 病毒分析
12.5 本章小結
第 1 章 二進位安全概述
1.1 組合語言指令
1.1.1 暫存器
1.1.2 指令集
1.2 編譯環境
1.2.1 x86 環境
1.2.2 ARM 環境
1.2.3 MIPS 環境
1.3 常用工具
1.3.1 PE 工具
1.3.2 OllyDbg 工具
1.3.3 IDA Pro 工具
1.4 本章小結
1.5 習題
第 2 章 基底資料型態
2.1 整數
2.1.1 無正負號的整數
2.1.2 有號整數
2.2 浮點數
2.2.1 浮點指令
2.2.2 編碼
2.3 字元和字串
2.4 布林類型
2.5 指標
2.6 常數
2.7 案例
2.8 本章小結
2.9 習題
第 3 章 運算式
3.1 算術運算
3.1.1 四則運算
3.1.2 自動增加和自減
3.2 關係...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。