注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)Android系統(tǒng)安全和反編譯實戰(zhàn)

Android系統(tǒng)安全和反編譯實戰(zhàn)

Android系統(tǒng)安全和反編譯實戰(zhàn)

定 價:¥79.00

作 者: 楊峻
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 程序設(shè)計 計算機/網(wǎng)絡(luò) 移動開發(fā)

ISBN: 9787115393036 出版時間: 2015-08-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《Android系統(tǒng)安全和反編譯實戰(zhàn)》循序漸進地講解了Android系統(tǒng)安全方面的基本知識,從Android系統(tǒng)介紹開始到綜合實例的實戰(zhàn)過程,全程剖析了Android系統(tǒng)安全、應(yīng)用安全開發(fā)和加密、解密方面的核心知識。全書共17章,主要內(nèi)容包括,Android技術(shù)核心框架分析、獲取并編譯源代碼、Android系統(tǒng)的安全機制、內(nèi)存安全機制、Binder通信安全機制、Android虛擬機基礎(chǔ)、Dalvik VM的運作流程、DEX文件詳解、編寫安全的應(yīng)用程序、應(yīng)用安全策略、文件加密、電話系統(tǒng)的安全機制、短信系統(tǒng)的安全機制、網(wǎng)絡(luò)防火墻系統(tǒng)、文件加密系統(tǒng)等核心技術(shù)。《Android系統(tǒng)安全和反編譯實戰(zhàn)》適合Android初學(xué)者、Android應(yīng)用開發(fā)者、Android安全架構(gòu)研究人員、Android底層開發(fā)人員和Android源代碼分析人員學(xué)習(xí),也可以作為相關(guān)培訓(xùn)學(xué)校和大專院校相關(guān)專業(yè)的教學(xué)用書。

作者簡介

  楊峻,計算機碩士,軟件工程碩士。現(xiàn)就職于國內(nèi)某著名安全公司移動端項目組,專門解決移動Android設(shè)備方面的數(shù)據(jù)加密、漏洞校驗分析和加密工作。精通C、C++、Java、Linux、匯編、ARM,擅長漏洞查找分析、系統(tǒng)安全架構(gòu)和反編譯。2010年,曾經(jīng)率先發(fā)現(xiàn)微軟IE7的重大漏洞,并提出了具體的補丁方案,引起微軟重視。隨著移動設(shè)備的興起,對Android和iOS等主流移動平臺的漏洞和安全隱患進行了詳細(xì)分析,并取得顯著的成果。

圖書目錄

第1章 Android技術(shù)概述 1 1.1 智能手機系統(tǒng)介紹 1 1.2 搭建Android應(yīng)用開發(fā)環(huán)境 2 1.2.1 安裝Android SDK的系統(tǒng)要求 2 1.2.2 安裝JDK 2 1.2.3 獲取并安裝Eclipse和Android SDK 5 1.2.4 安裝ADT 7 1.2.5 設(shè)定Android SDK Home 8 1.2.6 驗證開發(fā)環(huán)境 9 1.2.7 創(chuàng)建Android虛擬設(shè)備(AVD) 9 1.2.8 啟動AVD模擬器 10 1.2.9 解決搭建環(huán)境過程中的常見問題 12 第2章 Android技術(shù)核心框架分析 15 2.1 簡析Android安裝文件 15 2.1.1 Android SDK目錄結(jié)構(gòu) 15 2.1.2 android.jar及內(nèi)部結(jié)構(gòu) 16 2.1.3 閱讀SDK幫助文檔 16 2.1.4 常用的SDK工具 17 2.2 演示官方實例 19 2.3 剖析Android系統(tǒng)架構(gòu) 23 2.3.1 Android體系結(jié)構(gòu)介紹 23 2.3.2 Android應(yīng)用工程文件組成 25 2.4 簡述五大組件 27 2.4.1 用Activity來表現(xiàn)界面 27 2.4.2 用Intent和Intent Filters實現(xiàn)切換 28 2.4.3 Service為你服務(wù) 28 2.4.4 用Broadcast Intent/Receiver發(fā)送廣播 29 2.4.5 用Content Provider存儲數(shù)據(jù) 29 2.5 進程和線程 29 2.5.1 先看進程 29 2.5.2 再看線程 30 2.5.3 應(yīng)用程序的生命周期 30 第3章 獲取并編譯源碼 33 3.1 在Linux系統(tǒng)中獲取Android源碼 33 3.2 在Windows平臺獲取Android源碼 34 3.3 分析Android源碼結(jié)構(gòu) 36 3.3.1 應(yīng)用程序 38 3.3.2 應(yīng)用程序框架 39 3.3.3 系統(tǒng)服務(wù) 39 3.3.4 系統(tǒng)程序庫 41 3.3.5 系統(tǒng)運行庫 44 3.3.6 硬件抽象層 44 3.4 編譯源碼 45 3.4.1 搭建編譯環(huán)境 46 3.4.2 開始編譯 46 3.4.3 在模擬器中運行 47 3.4.4 常見的錯誤分析 48 3.4.5 實踐演練——演示兩種編譯Android程序的方法 49 3.5 編譯Android Kernel 52 3.5.1 獲取Goldfish內(nèi)核代碼 52 3.5.2 獲取MSM內(nèi)核代碼 55 3.5.3 獲取OMAP內(nèi)核代碼 55 3.5.4 編譯Android的Linux內(nèi)核 55 3.6 編譯源碼生成SDK 57 第4章 Android系統(tǒng)的安全機制 61 4.1 Android安全機制概述 61 4.1.1 Android的安全機制模型 61 4.1.2 Android的安全框架概述 62 4.2 分析Linux系統(tǒng)的安全機制 63 4.2.1 Linux用戶權(quán)限基礎(chǔ) 63 4.2.2 進程 68 4.3 分析Android系統(tǒng)的安全機制 70 4.3.1 沙箱模型介紹 70 4.3.2 應(yīng)用程序的安全機制 72 4.3.3 分區(qū)加載機制 73 第5章 內(nèi)存安全機制——匿名共享內(nèi)存系統(tǒng) 74 5.1 分析Ashmem驅(qū)動程序 74 5.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu) 74 5.1.2 初始化處理 75 5.1.3 打開匿名共享內(nèi)存設(shè)備文件 76 5.1.4 內(nèi)存映射 78 5.1.5 實現(xiàn)讀寫操作 79 5.1.6 鎖定和解鎖 81 5.1.7 回收內(nèi)存塊 86 5.2 分析C++訪問接口層 87 5.2.1 接口MemoryBase 87 5.2.2 客戶端實現(xiàn) 90 5.2.3 接口MemoryBase 94 5.3 分析Java訪問接口層 97 5.4 內(nèi)存優(yōu)化機制 100 5.4.1 sp和wp簡析 100 5.4.2 詳解智能指針 102 5.5 Android內(nèi)存系統(tǒng)的安全機制分析 118 5.5.1 Ashmem匿名共享內(nèi)存的機理 119 5.5.2 使用Low Memory Killer機制實現(xiàn)安全和高效 119 第6章 Binder通信安全機制(上) 121 6.1 Binder機制基礎(chǔ) 121 6.1.1 選擇Binder機制的原因——簡潔快速、低耗內(nèi)存、更加安全 121 6.1.2 Binder安全機制的必要性 122 6.1.3 Android的進程間通信(IPC)機制Binder 122 6.1.4 Service Manager是Binder機制的上下文管理者 123 6.1.5 Service Manager服務(wù) 137 6.2 分析Binder驅(qū)動程序 140 6.2.1 分析數(shù)據(jù)結(jié)構(gòu) 140 6.2.2 分析設(shè)備初始化 150 6.2.3 打開Binder設(shè)備文件 151 6.2.4 內(nèi)存映射 152 6.2.5 釋放物理頁面 156 6.2.6 分配內(nèi)核緩沖區(qū) 157 6.2.7 釋放內(nèi)核緩沖區(qū) 158 6.2.8 查詢內(nèi)核緩沖區(qū) 160 第7章 Binder通信安全機制(下) 162 7.1 Binder封裝庫 162 7.1.1 類BBinder 163 7.1.2 類BpRefBase 165 7.1.3 類IPCThreadState 166 7.2 初始化Java層Binder框架 168 7.3 分析MediaServer的通信機制 170 7.3.1 MediaServer的入口函數(shù) 170 7.3.2 ProcessState 171 7.3.3 defaultServiceManager 173 7.3.4 注冊MediaPlayerService 179 7.3.5 分析StartThread Pool和join Thread Pool 188 7.4 總結(jié)進程通信機制的安全性 190 7.4.1 進程先線程安全 190 7.4.2 遠(yuǎn)程過程調(diào)用機制(RPC) 191 7.4.3 實現(xiàn)線程安全方法 192 7.4.4 Binder中的安全策略 193 第8章 Android虛擬機基礎(chǔ) 194 8.1 Dalvik VM和JVM的差異 194 8.2 Dalvik虛擬機的主要特征 195 8.3 Dalvik VM架構(gòu) 196 8.3.1 Dalvik虛擬機的代碼結(jié)構(gòu) 196 8.3.2 dx工具 198 8.3.3 Dalvik VM的進程管理 198 8.3.4 Android的初始化流程 198 8.4 Dalvik VM控制VM命令詳解 199 8.4.1 基本命令 199 8.4.2 擴展的JNI檢測 199 8.4.3 斷言 200 8.4.4 字節(jié)碼校驗和優(yōu)化 200 8.4.5 Dalvik VM的運行模式 201 8.4.6 死鎖預(yù)測 201 8.4.7 dump堆棧追蹤 202 8.4.8 dex文件和校驗 202 8.4.9 產(chǎn)生標(biāo)志位 202 8.5 Dalvik VM進程管理 202 8.5.1 Zygote基礎(chǔ) 202 8.5.2 Dalvik的進程模型 211 8.5.3 Dalvik的進程通信 215 8.6 Zygote(孕育)進程 218 8.6.1 Zygote基礎(chǔ) 218 8.6.2 分析Zygote的啟動過程 219 第9章 Dalvik VM的運作流程 233 9.1 Dalvik VM相關(guān)的可執(zhí)行程序 233 9.1.1 dalvikvm、dvz和app_process簡介 233 9.1.2 對比app_process和dalvikvm的執(zhí)行過程 234 9.2 初始化Dalvik VM 236 9.2.1 開始虛擬機的準(zhǔn)備工作 236 9.2.2 初始化跟蹤顯示系統(tǒng) 237 9.2.3 初始化垃圾回收器 237 9.2.4 初始化線程列表和主線程環(huán)境參數(shù) 237 9.2.5 分配內(nèi)部操作方法的表格內(nèi)存 238 9.2.6 初始化虛擬機的指令碼相關(guān)的內(nèi)容 238 9.2.7 分配指令寄存器狀態(tài)的內(nèi)存 239 9.2.8 分配指令寄存器狀態(tài)的內(nèi)存和最基本用的Java庫 239 9.2.9 初始化使用的Java類庫線程類 240 9.2.10 初始化虛擬機使用的異常Java類庫 241 9.2.11 初始化其他對象 242 9.3 啟動Zygote 250 9.3.1 在init.rc中配置zygote啟動參數(shù) 250 9.3.2 啟動Socket服務(wù)端口 250 9.3.3 加載preload-classes 251 9.3.4 加載preload-resources 2

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號