Android應用安全實戰:Frida協議分析

Android應用安全實戰:Frida協議分析

作者: 李岳陽 卓斌
出版社: 機械工業
出版在: 2022-05-01
ISBN-13: 9787111702665
ISBN-10: 7111702662
裝訂格式: 平裝
總頁數: 228 頁





內容描述


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框架算法轉發方案
8.1 Frida的Python庫使用
8.1.1 Frida注入方式
8.1.2 spawn方式啟動與連接非標準端口
8.2 Frida與Python交互
8.3 Frida的RPC調用
8.4 實戰:某嘟牛Frida算法轉發




相關書籍

Android Development Patterns: Best Practices for Professional Developers(Paperback)

作者 Phil Dutson

2022-05-01

How to Build Android Apps with Kotlin

作者 Forrester Alex Boudjnah Eran Dumbravan Alexandru

2022-05-01

Swift Cookbook.: Over 60 proven recipes for developing better iOS applications with Swift 5.3

作者 Moon Keith Barker Chris

2022-05-01