Android安全技術揭秘與防範

Android安全技術揭秘與防範

《Android安全技術揭秘與防範》是2017年11月人民郵電出版社出版的圖書,作者是周聖韜。

基本介紹

  • 中文名:Android安全技術揭秘與防範
  • 作者:周聖韜
  • ISBN:9787115401663
  • 頁數:339頁
  • 定價:69元
  • 出版社:人民郵電出版社
  • 出版時間:2017年11月
  • 裝幀:平裝
  • 開本:小16開
內容簡介,圖書目錄,

內容簡介

《Android安全技術揭秘與防範》從分析Android系統的運行原理、框架和主要模組入手,著重分析了Android系統存在的安全技術問題,以及這些技術在移動設備上產生的安全問題,幫助讀者了解如何靜態分析Android軟體,如何動態調試Android軟體,如何開發出安全的App,如何使自己的系統不被盜版,以及Android漏洞、逆向工程和反彙編等核心技術。
《Android安全技術揭秘與防範》幾乎每一個部分,都結合實際例子,一步步講解,可以使讀者了解App安全的問題,給最*一些防範技術,是一本特別實用的Android安全指南。移動設備最*、安全研究人員、Android應用程式最*和負責評估Android安全性的技術人員都可以在本書中找到必要的指導。

圖書目錄

第 1章 Android簡介 1
1.1 Android的發展歷史 1
1.2 Android系統進化史 1
1.2.1 Nexus系列 3
1.2.2 國產定製系統 3
1.2.3 Android的開放與安全 4
1.2.4 移動網際網路的趨勢 4
1.3 Android和iOS系統對比 5
1.3.1 系統架構對比 6
1.3.2 Android和iOS安全對比 6
第 2章 Android地下產業鏈分析 8
2.1 錢從哪裡來 8
2.1.1 惡意吸費 9
2.1.2 廣告、惡意推廣 9
2.1.3 誘騙欺詐 10
2.1.4 隱私竊取 10
2.1.5 安裝包分析 10
2.2 安全的發展趨勢 11
2.2.1 系統級別的防毒 11
2.2.2 套用市場的監管 11
2.2.3 智慧型硬體安全 12
第3章 理解Android系統 13
3.1 Android系統的層級架構 13
3.1.1 套用層 14
3.1.2 框架層 14
3.1.3 核心庫與運行環境層 14
3.1.4 Linux核心層 15
3.1.5 Android系統的分區結構 15
3.2 啟動過程 16
3.2.1 Boot Loader載入階段 17
3.2.2 載入Kernel與initrd階段 17
3.2.3 初始化設備服務階段 17
3.2.4 載入系統服務階段 18
3.2.5 虛擬機初始化階段 18
3.2.6 啟動完成階段 18
3.3 系統關鍵進程與服務 18
3.3.1 系統第 一個進程init詳解 18
3.3.2 ADB進程 19
3.3.3 存儲類守護進程Vold 20
3.3.4 進程母體Zygote 21
3.3.5 服務管理器ServiceMananger 21
3.3.6 進程複製Android Fork 22
3.3.7 進程間通信Binder機制 22
3.3.8 匿名共享記憶體機制Ashmem 24
3.3.9 日誌服務Logger 24
3.4 APK生成 25
3.4.1 編譯過程 26
3.4.2 打包過程 26
3.4.3 簽名最佳化過程 26
3.5 系統安全執行邊界 26
3.5.1 沙箱隔離機制 27
3.5.2 許可權授予機制 28
3.5.3 數字簽名機制 31
3.6 系統的安全結構 34
3.6.1 Android應用程式安全 34
3.6.2 主要的套用組件 34
3.6.3 四大組件模型 36
3.6.4 Android框架層 37
3.6.5 Dalvik虛擬機 38
3.7 Android 5.0(Lollipop)的安全架構 38
3.7.1 加強型核心SEAndroid 39
3.7.2 安全的鎖屏 39
3.7.3 充分的加密 40
3.7.4 Android5.0安全總結 40
第4章 Root你的設備 41
4.1 獲取Root許可權原理 41
4.1.1 su源碼分析 42
4.1.2 Root後手機對比 43
4.1.3 Root思路 43
4.1.4 Root漏洞 44
4.1.5 已經發現的Root漏洞 46
4.1.6 SuperUser分析 46
4.1.7 Root安全 48
4.2 Root的分類 48
4.2.1 臨時Root 48
4.2.2 最Root 50
4.2.3 刪除Root 52
4.2.4 免Root 52
4.3 Root之後 52
4.3.1 靜默安裝 53
4.3.2 刪除預裝 58
4.3.3 鍵盤監控 60
4.3.4 簡訊攔截與靜默傳送 64
4.3.5 電話監控 66
第5章 APK靜態分析 69
5.1 什麼是靜態分析 69
5.2 常用分析利器 69
5.2.1 資源逆向工具AXMLPrinter 2 70
5.2.2 查看源碼工具dex2jar、jd-GUI 70
5.2.3 APK逆向工具APKTool 71
5.2.4 Android逆向助手 71
5.2.5 反彙編工具IDA PRO 72
5.2.6 超級編輯器UltraEdit 73
5.3 認識APK檔案 73
5.3.1 App的種類 73
5.3.2 反編譯前結構 75
5.3.3 反編譯後結構 76
5.4 分析DEX檔案 78
5.4.1 認識DEX 79
5.4.2 虛擬機指令Smali簡介 79
5.4.3 Smali與Java對比 79
5.4.4 Smali語法基礎 81
5.4.5 常用的Smali 注入代碼 82
5.5 分析SO檔案 83
5.5.1 NDK開發流程 84
5.5.2 開始反彙編 87
5.5.3 嘗試修改SO檔案邏輯 90
5.6 收集信息定位關鍵代碼 92
5.6.1 AndroidManifest.xml突破 92
5.6.2 特殊關鍵字突破 94
5.6.3 資源索引突破 94
5.7 開始篡改代碼 95
5.7.1 嘗試篡改邏輯 96
5.7.2 廣告植入與去除 97
5.7.3 收費限制破解 101
5.7.4 應用程式漢化 102
5.7.5 篡改邏輯小結 103
第6章 ARM彙編速成 104
6.1 抽象層次 104
6.1.1 計算機體系結構 104
6.1.2 常見嵌入式處理器 105
6.1.3 Android支持處理器情況 106
6.2 逆向工程 107
6.2.1 計算機層級 107
6.2.2 彙編語言 108
6.2.3 反彙編的理解 111
6.2.4 ARM彙編語言模組的結構 111
6.2.5 簡單的ARM程式 111
6.3 ARM體系結構 113
6.3.1 ARM微處理器的工作狀態 113
6.3.2 ARM體系結構的存儲器格式 113
6.3.3 指令長度及數據類型 114
6.3.4 處理器模式 114
6.3.5 ARM狀態下暫存器組織 114
6.3.6 Thumb狀態下的暫存器組織 116
6.4 ARM微處理器的指令集概述 117
6.4.1 ARM指令的助記符 118
6.4.2 程式狀態暫存器 118
6.4.3 指令的條件域 120
6.4.4 ARM指令的定址方式 121
6.5 Thumb指令及套用 123
6.5.1 Thumb指令集特點 124
6.5.2 ARM與Thumb狀態切換 124
6.5.3 Thumb指令集格式 125
6.5.4 Thmub指令的十六進制值
計算 126
6.6 快速識別ARM彙編中的C/C++邏輯 127
6.6.1 識別if-else判斷邏輯 127
6.6.2 識別while-do循環邏輯 129
6.6.3 識別for循環邏輯 130
6.6.4 識別switch-case分支邏輯 132
第7章 APK動態分析 135
7.1 套用體系架構 135
7.1.1 代碼安全分析 135
7.1.2 組件安全分析 136
7.1.3 存儲安全分析 136
7.1.4 通信安全分析 136
7.2 DDMS調試 137
7.2.1 使用Log進行邏輯跟蹤 138
7.2.2 不安全的本地存儲 140
7.2.3 使用TraceView進行方法跟蹤 141
7.3 網路抓包 145
7.3.1 抓包工具Fiddler簡介 145
7.3.2 抓包的原理 145
7.3.3 如何在Android上進行抓包 146
7.3.4 設定斷點修改請求 148
7.4 使用AndBug斷點調試 150
7.4.1 配置AndBug環境 150
7.4.2 AndBug常用命令 152
7.4.3 AndBug調試步驟 152
7.4.4 開始斷點調試 153
7.5 使用IDA Pro進行動態調試 158
7.5.1 使用IDA動態調試原生庫so 158
7.5.2 使用IDA動態調試dex 162
7.6 調試WebViewApp 164
7.6.1 Chrome外掛程式調試 164
7.6.2 WebView已知漏洞 165
7.6.3 HTML安全 166
7.6.4 網路釣魚 166
7.6.5 SQL注入攻擊 167
第8章 動態注入技術 169
8.1 什麼是Hook技術 169
8.1.1 Hook原理 170
8.1.2 Hook的種類 173
8.1.3 Hook的危害 174
8.2 常用的Hook工具 174
8.2.1 Xposed框架 174
8.2.2 CydiaSubstrate框架 176
8.2.3 ADBI/DDI框架 177
8.3 HookAndroid套用 178
8.3.1 嘗試Hook系統API 179
8.3.2 Hook指定套用注入廣告 181
8.3.3 App登錄劫持 184
8.4 Hook原生應用程式 188
8.4.1 CydiaSubstrate框架針對Native層Hook的支持 188
8.4.2 通過JNI改變系統顏色 190
8.4.3 Hook後替換指定套用中的原生方法 193
8.4.4 使用Hook進行廣告攔截 196
8.5 Hook檢測/修復 198
8.5.1 Hook檢測 198

相關詞條

熱門詞條

聯絡我們