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

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

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

定 價(jià):¥79.00

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

購(gòu)買(mǎi)這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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