《Android套用安全實戰:Frida協定分析》是2022年機械工業出版社出版的圖書。
基本介紹
- 中文名:Android套用安全實戰:Frida協定分析
- 出版時間:2022年5月1日
- 出版社:機械工業出版社
- ISBN:9787111702665
內容簡介,圖書目錄,
內容簡介
Android套用安全是一個熱門話題,本書從Hook框架Frida出發,由淺入深,帶領讀者掌握Frida框架的使用方法,並讓讀者能夠解決逆向分析、安全測試、算法還原和關鍵代碼快速定位等實際問題。
Android套用安全實戰:Frida協定分析共8章,首先講解了Frida框架環境安裝配置,隨後講解了如何使用Frida框架對Android套用的Java層和so層進行分析,並設計了算法自吐框架,*後講解了Frida框架的高級套用和算法轉發。從*基礎的環境安裝到中高級逆向技巧均有涉獵,能夠讓讀者在實戰中掌握Frida框架,並套用於Android逆向分析之中。
Android套用安全實戰:Frida協定分析內容翔實,理論與實戰相結合,可供Android開發工程師、Android套用安全工程師、爬蟲工程師、逆向分析工程師以及想要從事逆向領域工作的人員學習。
圖書目錄
前言
第1章 Frida逆向環境搭建
1.1 Frida框架介紹
1.2 Frida框架環境搭建
1.2.1 Python的安裝
1.2.2 Visual Studio Code的安裝
1.2.3 Node.js的安裝
1.2.4 Frida的安裝
1.3 Android平台環境搭建
1.3.1 Android系統刷機
1.3.2 獲取Android系統管理員許可權
1.3.3 frida-server配置
第2章 Frida框架Java層套用
2.1 Frida框架的Hook方法
2.1.1 Hook靜態方法和實例方法
2.1.2 Hook構造方法
2.1.3 Hook重載方法
2.1.4 Hook方法的所有重載
2.1.5 對象參數的構造
2.1.6 主動調用Java函式
2.2 Frida框架Hook類
2.2.1 獲取和修改類的欄位
2.2.2 Hook內部類和匿名類
2.2.3 枚舉所有已載入的類和枚舉類的所有方法
2.2.4 Hook類的所有方法
2.3 實戰:某嘟牛協定分析
2.3.1 某嘟牛Java層登錄協定分析
2.3.2 Frida框架輔助協定分析
2.3.3 Frida框架生成加密參數
第3章 關鍵代碼快速定位
3.1 集合的Hook
3.1.1 Hook HashMap定位散列表
3.1.2 列印函式棧
3.1.3 Hook ArrayList定位動態數組
3.2 組件與事件的Hook
3.2.1 Hook Toast定位提示
3.2.2 Hook findViewById定位組件
3.2.3 Hook setOnClickListener定位按鈕點擊事件
3.3 常用類的Hook
3.3.1 Hook TextUtils定位用戶輸入
3.3.2 Hook JSONObject定位JSON數據
3.3.3 Hook Collections定位排序算法
3.3.4 Hook String定位字元轉換
3.3.5 Hook StringBuilder定位字元串操作
3.3.6 Hook Base64定位編碼
3.4 其他類的定位
3.4.1 Hook定位接口的實現類
3.4.2 Hook定位抽象類的實現類
3.5 實戰:去除應用程式的強制升級
第4章 算法“自吐”腳本開發
4.1 工具函式封裝
4.2 Frida Hook MD5算法
4.2.1 Hook MD5算法update方法
4.2.2 Hook MD5算法digest方法
4.3 Frida Hook MAC算法
4.3.1 Hook MAC算法密鑰
4.3.2 Hook MAC算法update方法
4.3.3 Hook MAC算法doFinal方法
4.4 Frida Hook數字簽名算法
4.4.1 Hook 數字簽名算法update方法
4.4.2 Hook 數字簽名算法sign方法
4.5 Objection輔助Hook
4.5.1 Objection的安裝和基本使用
4.5.2 實戰:某電競界面跳轉
第5章 Frida框架so層基本套用
5.1 獲取Module
5.1.1 通過模組名來獲取Module
5.1.2 通過地址來獲取Module
5.1.3 Process中的常用屬性和方法
5.2 枚舉符號
5.2.1 枚舉模組的導入表
5.2.2 枚舉模組的導出表
5.2.3 枚舉模組的符號表
5.2.4 Module中的常用屬性和方法
5.3 Frida Hook so函式
5.3.1 Hook導出函式
5.3.2 從給定地址查看記憶體數據
5.3.3 Hook任意函式
5.3.4 獲取指針參數返回值
5.3.5 Frida inlineHook獲取函式執行結果
5.4 Frida修改函式參數與返回值
5.4.1 修改函式數值參數與返回值
5.4.2 修改字元串參數
5.5 實戰:某熱點登錄協定分析
第6章 JNI函式的Hook與快速定位
6.1 JNI函式的Hook
6.1.1 JNIEnv的獲取
6.1.2 枚舉libart符號表來Hook
6.1.3 通過計算地址的方式來Hook
6.2 主動調用so函式
6.2.1 Frida API主動調用JNI函式
6.2.2 so層檔案列印函式棧
6.2.3 DebugSymbol類
6.2.4 so層主動調用任意函式
6.2.5 通過NativeFunction主動調用JNI函式
6.3 JNI函式註冊的快速定位
6.3.1 Hook dlsym獲取函式地址
6.3.2 Hook RegisterNatives獲取函式地址
6.4 ollvm混淆套用協定分析實戰
6.4.1 jnitrace工具的使用
6.4.2 實戰:某App應用程式協定分析
第7章 Frida框架so層進階套用
7.1 Frida操作記憶體數據
7.1.1 記憶體讀寫
7.1.2 Frida修改so函式代碼
7.1.3 Frida 從記憶體中導出 so函式
7.1.4 ollvm字元串解密
7.1.5 構造二級指針
7.1.6 讀寫檔案
7.2 Frida其他常用API介紹
7.2.1 NativePointer類的常用方法
7.2.2 Memory的常用方法
7.2.3 替換函式
7.3 Frida進階Hook
7.3.1 Hook系統函式dlopen
7.3.2 Hook系統函式JNI_Onload
7.3.3 Hook系統函式initarray
7.3.4 Hook系統函式pthread_create
7.3.5 監控記憶體讀寫
7.3.6 函式追蹤工具frida-trace
7.3.7 Frida API的簡單封裝
7.3.8 代碼跟蹤引擎stalker
7.4 實戰:某觀察登錄協定分析
……
第8章 Frida框架算法轉發方案