UNIDBG 逆向工程:原理與實務
陳佳林
- 出版商: 機械工業
- 出版日期: 2024-01-01
- 定價: $774
- 售價: 8.5 折 $658
- 語言: 簡體中文
- 頁數: 568
- 裝訂: 平裝
- ISBN: 711174182X
- ISBN-13: 9787111741824
-
相關分類:
Penetration-test
立即出貨
買這商品的人也買了...
-
Effective Debugging 中文版 | 軟體與系統除錯的 66 個具體作法 (Effective Debugging: 66 Specific Ways to Debug Software and Systems) (書況略舊,不介意在下單)$450$383 -
軟件調試 第2版 捲1:硬件基礎$708$673 -
$594網絡攻防實戰研究:MySQL數據庫安全 -
絕對硬派:Windows 核心首度公開 C++解析$1,200$948 -
練核心從裡強到外:全面了解 Linux 基礎架構$1,000$790 -
$469區塊鏈應用開發指南 : 業務場景剖析與實戰 -
駭客們好自為之:CTF 大賽 PWN 奪旗技術大展$1,000$850 -
大師養成起手式:從核心真正了解 Linux 運作原理$880$695 -
$352密碼學 — 密碼算法與協議, 3/e -
Ghidra 權威指南$840$798 -
$659FFmpeg 入門詳解 — SDK 二次開發與直播美顏原理及應用 -
$417PLC 編程與伺服控制從入門到工程實戰 -
$469從零學習PLC編程與接線 -
PLC 通信協議及編程$594$564 -
CCNP and CCIE Security Core Scor 350-701 Official Cert Guide, 2/e (Paperback)$2,680$2,546 -
$512RTC 程序設計:實時音視頻權威指南 -
移動安全攻防進階 — Android 與 iOS 逆向理論與案例實戰$414$393 -
$352軟件優化技術 -
$403物聯網安全滲透測試技術 -
$611ARM 彙編與逆向工程藍狐捲基礎知識 -
電磁頻譜監測$594$564 -
$559Go語言 + Vue.js 實戰派 — 基於 Gin 框架 -
網絡通信編程$479$455 -
.NET 安全攻防指南 (上)$774$735 -
.NET 安全攻防指南 (下)$774$735
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
VIP 95折
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
VIP 95折
MCP 開發從入門到實戰$515$489 -
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
VIP 95折
CUDA 並行編程與性能優化$714$678 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
VIP 95折
大模型驅動的具身智能 架構,設計與實現$534$507 -
VIP 95折
納米級CMOS VLSI電路(可制造性設計)$474$450 -
VIP 95折
Manus應用與AI Agent設計指南:從入門到精通$359$341 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
VIP 95折
芯片的較量 (日美半導體風雲)$414$393 -
VIP 95折
Manus AI 智能體從入門到精通$294$279 -
87折
$981深度學習:基礎與概念 -
85折
$505GitHub Copilot 編程指南 -
87折
$469Cursor 與 Copilot 開發實戰 : 讓煩瑣編程智能化 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
Verilog HDL 計算機網絡典型電路算法設計與實現$354$336 -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
85折
$505GitHub Copilot 編程指南 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673 -
VIP 95折
深入淺出 Docker, 2/e$419$398 -
85折
$658Unity 特效制作:Shader Graph 案例精講 -
79折
$275零基礎玩轉國產大模型DeepSeek -
VIP 95折
人工智能大模型:機器學習基礎$774$735 -
VIP 95折
RAG 極簡入門:原理與實踐$419$398 -
VIP 95折
大模型實戰 : 從零實現 RAG 與 Agent 系統$419$398 -
VIP 95折
算法趣學(第2版)$348$331 -
VIP 95折
大模型理論與實踐——打造行業智能助手$354$336 -
85折
$509生成式人工智能 (基於 PyTorch 實現) -
VIP 95折
機器人抓取力學$894$849 -
VIP 95折
集成電路版圖設計從入門到精通$474$450 -
VIP 95折
Java 學習筆記, 6/e$839$797 -
VIP 95折
ZBrush遊戲角色設計(第2版)$479$455
相關主題
商品描述
本書共31章,分四部分:
第一部分(第1-3章)帶領讀者進入unidbg的世界,瞭解unidbg的基礎知識及一些基本操作;
第二部分(第4-15章)詳細講解unidbg原理;
第三部分(第16-26章)是模擬執行與補環境實戰,透過各種具體技術案例,幫助讀者掌握unidbg模擬執行、補環境的原理與方法;
第四部分(第27~31章)介紹反制與生產環境部署。
作者簡介
陳佳林,科技極客,「骨灰級」樹莓派愛好者,在機器人、智慧硬件、軟硬件協同開發等方面有較深入的研究。 資深安全技術專家,看雪科技資深研究員,在行動安全領域經驗豐富,多次主持召開銀行、電信、政府等行業的培訓並參與安全項目的研究。作為團隊成員參與GeekPwn 2018挑戰賽並獲得亞軍,多次在“看雪安全開發者峰會”“補天白帽大會”等會議上發表主題演講。 另著有《樹莓派創客:手把手教你搭建機器人》《樹莓派創客:手把手教你玩轉人工智能》。
目錄大綱
目 錄Contents
前 言
第一部分 進入unidbg的世界
第1章 unidbg環境準備與快速上手 2
1.1 r0env環境介紹與集成 2
1.1.1 r0env各組件介紹 2
1.1.2 r0env下載及安裝 5
1.2 IDEA安裝及配置 6
1.3 第一個unidbg項目 7
1.3.1 unidbg介紹 7
1.3.2 unidbg下載與運行示例 8
1.3.3 unidbg示例講解 9
1.4 本章小結 13
第2章 unidbg模擬執行初探 14
2.1 第一個NDK項目 14
2.1.1 使用Android Studio創建NDK項目 14
2.1.2 編寫自己的so業務代碼 16
2.2 unidbg的符號調用與地址調用 18
2.2.1 unidbg主動調用前置準備 18
2.2.2 unidbg主動調用so函數 19
2.2.3 unidbg部分API簡單講解 22
2.3 本章小結 24
第3章 unidbg補環境、Hook與Patch 25
3.1 為so添加交互:使用JNI接口編寫md5方法 25
3.2 使用unidbg修補執行環境並模擬執行 27
3.3 脫離編譯器,使用命令行編譯so 34
3.4 unidbg的Hook 36
3.5 unidbg的Patch 39
3.6 本章小結 42
第二部分 unidbg原理
第4章 ELF文件執行視圖解析 44
4.1 ELF文件結構 44
4.1.1 ELF頭部結構 45
4.1.2 程序頭部表 47
4.1.3 動態節區_DYNAMIC段 51
4.2 深入jelf代碼細節,探究ELF解析 54
4.2.1 分析原版jelf代碼 54
4.2.2 分析unidbg版jelf代碼 56
4.3 本章小結 60
第5章 Unicorn的初級使用與初探Linker 61
5.1 Unicorn的初級使用:模擬執行與Hook 61
5.1.1 使用Unicorn進行模擬執行 61
5.1.2 Unicorn的Hook 64
5.1.3 Keystone與Capstone 70
5.2 初探Android系統源碼 71
5.2.1 Java層代碼追蹤 73
5.2.2 Native層代碼追蹤 75
5.3 本章小結 78
第6章 深入Linker:so的加載、鏈接、初始化 79
6.1 so的加載過程 79
6.2 so的鏈接過程 90
6.3 so的初始化操作 100
6.4 本章小結 102
第7章 使用Unicorn模擬Linker:so的加載過程 103
7.1 模擬Linker?:環境準備 103
7.2 模擬Linker?:so的加載 109
7.3 動態調試Linker,探究so的內存佈局圖 118
7.4 本章小結 122
第8章 使用Unicorn模擬Linker:so的鏈接過程 123
8.1 so的依賴庫加載過程 123
8.2 so的動態鏈接 127
8.3 初嘗試:使用unidbg模擬執行簡單so文件 131
8.4 探究unidbg的Linker代碼細節 133
8.4.1 unidbg加載so文件代碼入口 134
8.4.2 處理so信息並加載內存 135
8.4.3 對so的依賴庫進行處理 137
8.4.4 重定位操作 138
8.4.5 處理so的初始化信息與生成module對象 140
8.4.6 執行初始化 141
8.5 本章小結 142
第9章 R0dbg實戰與Unidbg_FindKey 143
9.1 模擬Linker?:so的初始化過程 143
9.2 指令追蹤與排錯 147
9.2.1 TLS線程局部存儲環境初始化 148
9.2.2 R0dbg對系統調用進行處理 150
9.3 使用R0dbg模擬執行so 152
9.4 Unidbg_FindKey牛刀小試 154
9.5 本章小結 157
第10章 unidbg源碼解析:AndroidEmulator 158
10.1 創建AndroidEmulator 158
10.2 創建FileSystem 165
10.3 創建Backend 168
10.4 創建SvcMemory 169
10.5 本章小結 172
第11章 unidbg源碼解析:DalvikVM 173
11.1 分析createDalvikVM() 173
11.2 Dvm相關類介紹 178
11.2.1 BaseVM解析 179
11.2.2 DalvikVM解析 184
11.2.3 DvmObject解析 185
11.2.4 DvmClass解析 187
11.3 本章小結 188
第12章 unidbg源碼解析:模擬執行流程追蹤 189
12.1 編寫含JNI交互的MD5算法並模擬執行 189
12.1.1 編寫含JNI交互的so 189
12.1.2 使用unidbg進行模擬執行 190
12.2 模擬執行流程追蹤:尋找函數 192
12.3 模擬執行流程追蹤:處理參數並模擬執行 195
12.4 本章小結 202
第13章 unidbg源碼解析:JNI交互流程追蹤 203
13.1 JNI註冊 203
13.2 JNI指令執行 208
13.3 本章小結 217
第14章 unidbg源碼解析:Memory 218
14.1 Memory模塊的創建 218
14.2 AndroidElfLoader的方法實現 219
14.2.1 內存相關方法實現 219
14.2.2 棧空間相關方法實現 226
14.2.3 用戶常用方法解析 227
14.2.4 虛擬模塊 230
14.3 加載so的loader功能 231
14.4 本章小結 237
第15章 unidbg源碼解析:Hook 238
