編輯推薦
本書有非常詳細的案例講解,也提供瞭大量的工具源碼,是Android開發人員逆嚮學習研究的極好工具手冊,可以幫助Android開發者成為更全麵的Android高手。
內容簡介
本書全麵介紹Android應用的安全防護方法與逆嚮分析技術,分為四篇:基礎篇、防護篇、工具篇、操作篇,共26章。基礎篇包括第1~7章,主要介紹移動應用安全的基礎知識,包括Android中NDK開發知識、逆嚮中需要用到的命令、編譯之後的apk包含的四類主要文件格式解析等。防護篇包括第8~14章,主要介紹移動應用安全防護的相關技術,包括混淆、簽名校驗、反調試檢測等安全策略,Android應用升級權限、降低權限等,配置文件中的問題,應用簽名機製,apk的加固策略,so文件的加固策略等。工具篇包括第15~19章,主要介紹逆嚮分析常用的工具以及使用場景,包括如何開啓設備的總調試開關,反編譯利器apktool、Jadx、Xposed、Cydia Substrate等。操作篇包括第20~26章,主要介紹Android中的逆嚮分析技巧,包括靜態方式和動態方式,介紹Android中開發會遇到的係統漏洞及修復方式,最後分析瞭Android中一個非常經典的文件加密病毒樣本。
作者簡介
薑維 某知名互聯網公司開發者,參與過多個移動App開發項目,對Android安全問題情有獨鍾,深入分析過Android源代碼和各類移動應用病毒,逆嚮分析實戰經驗
精彩書評
移動應用安全已經是個不可忽視的問題,本書結閤多個案例進行實際操作講解,介紹很多實用工具和命令,是一本非常好的安全逆嚮工具書籍。薑維研究安全逆嚮這麼久,將自身多年的豐富經驗用書本的形式展現給讀者也是非常不易。
——周鴻禕,360公司創始人、董事長兼CEO、知名天使投資人
本書有非常詳細的案例講解,也提供瞭大量的工具源碼,是Android開發人員逆嚮學習研究的極好工具手冊,可以幫助Android開發者成為更全麵的Android高手。
——蔣濤,CSDN創始人,極客幫基金創始人
本書在實際操作講解的同時,還特彆重視一些原理的講解,可以幫助讀者快速提升Android安全技術水平。
——段鋼,看雪學院創始人
本書章節安排精心閤理,技術點循序漸進,使用瞭大量帶有標注的配圖,清晰且直觀,屬於難得一見的用心之作。
——泮曉波,頂象技術移動安全實驗室負責人、閤夥人
本書的作者在信息安全領域的多年經驗,加上純粹的技術分享精神,注定瞭這是一本值得廣大安全愛好者期待的好書。
——豐生強(網名:非蟲),國內知名安全專傢
本書既涵蓋瞭入門者所必須掌握的基礎知識,又精選瞭許多安全領域中的典型實例並對它們開展瞭詳細講解。
——鄧凡平
目錄
對本書的贊譽
前言
基礎篇
第1章 Android中鎖屏密碼加密算法分析
1.1 鎖屏密碼方式
1.2 密碼算法分析
1.2.1 輸入密碼算法分析
1.2.2 手勢密碼算法分析
1.3 本章小結
第2章 Android中NDK開發
2.1 搭建開發環境
2.1.1 Eclipse環境搭建
2.1.2 Android Studio環境搭建
2.2 第一行代碼:HelloWorld
2.3 JNIEnv類型和jobject類型
2.3.1 JNIEnv類型
2.3.2 jobject參數obj
2.3.3 Java類型和native中的類型映射關係
2.3.4 jclass類型
2.3.5 native中訪問Java層代碼
2.4 JNIEnv類型中方法的使用
2.4.1 native中獲取方法的Id
2.4.2 Java和C++中的多態機製
2.5 創建Java對象及字符串的操作方法
2.5.1 native中創建Java對象
2.5.2 native中操作Java字符串
2.6 C/C++中操作Java中的數組
2.6.1 操作基本類型數組
2.6.2 操作對象類型數組
2.7 C/C++中的引用類型和ID的緩存
2.7.1 引用類型
2.7.2 緩存方法
2.8 本章小結
第3章 Android中開發與逆嚮常用命令總結
3.1 基礎命令
3.2 非shell命令
3.3 shell命令
3.4 操作apk命令
3.5 進程命令
3.6 本章小結
第4章 so文件格式解析
4.1 ELF文件格式
4.2 解析工具
4.3 解析ELF文件
4.4 驗證解析結果
4.5 本章小結
第5章 AndroidManifest.xml文件格式解析
5.1 格式分析
5.2 格式解析
5.2.1 解析頭部信息
5.2.2 解析String Chunk
5.2.3 解析ResourceId Chunk
5.2.4 解析Start Namespace Chunk
5.2.5 解析Start Tag Chunk
5.3 本章小結
第6章 resource.arsc文件格式解析
6.1 Android中資源文件id格式
6.2 數據結構定義
6.2.1 頭部信息
6.2.2 資源索引錶的頭部信息
6.2.3 資源項的值字符串資源池
6.2.4 Package數據塊
6.2.5 類型規範數據塊
6.2.6 資源類型項數據塊
6.3 解析代碼
6.3.1 解析頭部信息
6.3.2 解析資源字符串內容
6.3.3 解析包信息
6.3.4 解析資源類型的字符串內容
6.3.5 解析資源值字符串內容
6.3.6 解析正文內容
6.4 本章小結
第7章 dex文件格式解析
7.1 dex文件格式
7.2 構造dex文件
7.3 解析數據結構
7.3.1 頭部信息Header結構
7.3.2 string_ids數據結構
7.3.3 type_ids數據結構
7.3.4 proto_ids數據結構
7.3.5 field_ids數據結構
7.3.6 method_ids數據結構
7.3.7 class_defs數據結構
7.4 解析代碼
7.4.1 解析頭部信息
7.4.2 解析string_ids索引區
7.4.3 解析type_ids索引區
7.4.4 解析proto_ids索引區
7.4.5 解析field_ids索引區
7.4.6 解析method_ids索引區
7.4.7 解析class_def區域
7.5 本章小結
防護篇
第8章 Android應用安全防護的基本策略
8.1 混淆機製
8.1.1 代碼混淆
8.1.2 資源混淆
8.2 簽名保護
8.3 手動注冊native方法
8.4 反調試檢測
8.5 本章小結
第9章 Android中常用權限分析
9.1 輔助功能權限
9.2 設備管理權限
9.3 通知欄管理權限
9.4 VPN開發權限
9.5 本章小結
第10章 Android中的run-as命令
10.1 命令分析和使用
10.2 Linux中的setuid和setgid概念
10.3 Android中setuid和setgid的使用場景
10.4 run-as命令的作用
10.5 調用係統受uid限製的API
10.6 本章小結
第11章 Android中的allowBackup屬性
11.1 allowBackup屬性介紹
11.2 如何獲取應用隱私數據
11.3 如何恢復應用數據
11.4 本章小結
第12章 Android中的簽名機製
12.1 基本概念
12.2 Android中簽名流程
12.3 Android中為何采用這種簽名機製
12.4 本章小結
第13章 Android應用加固原理
13.1 加固原理解析
13.2 案例分析
13.3 運行項目
13.4 本章小結
第14章 Android中的so加固原理
14.1 基於對so中的section加密實現so加固
14.1.1 技術原理
14.1.2 實現方案
14.1.3 代碼實現
14.1.4 總結
14.2 基於對so中的函數加密實現so加固
14.2.1 技術原理
14.2.2 實現方案
14.2.3 代碼實現
14.3 本章小結
工具篇
第15章 Android逆嚮分析基礎
15.1 逆嚮工具
15.2 逆嚮基本知識
15.3 打開係統調試總開關
15.4 本章小結
第16章 反編譯神器apktool和Jadx
操作篇
Android應用安全防護和逆嚮分析 下載 mobi epub pdf txt 電子書