安卓Frida逆向與協議分析 ( 簡體 字) |
作者:陳佳林 | 類別:1. -> 程式設計 -> 手機程式 -> Android |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 55781 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:3/1/2022 |
頁數:260 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302598978 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:安卓作業系統目前在中國乃至世界範圍內佔據主流,大量互聯網、市政、金融、O2O、計程車等公司及部門將業務依託於App的方式交付給最終使用者,這些App真的安全嗎?前有各類爬蟲軟體對票務、市政企業個人資訊等App內容的瘋狂抓取,後有拼多多被薅數十億羊毛的事件,因此App的安全、逆向工程及自動化利用技術越來越受到App開發者的關注。
自從Frida於2014年年末問世以來,迅速在全球安全社區掀起了“Frida熱潮”,借助Frida動態修改記憶體的特性實現了快速逆向和演算法調用功能,安卓應用安全分析和對抗技術從未像如今這樣成熟和自動化。
作為安卓應用安全測評工程師,或者大資料平臺採集工程師,逆向研究員對於App的逆向分析研究及其演算法的還原和介面調用的熱愛仿佛是刻在骨子裡的。
與逆向技術的發展相對應的是,很多大型軟體和平臺的開發者也逐漸把演算法藏得越來越深,越來越難以逆向。這裡面最具有代表性的是強混淆框架Ollvm和Arm層的虛擬機器保護技術Vmp,前者注重增加演算法本身的複雜度,後者通過增加一套中間層將演算法保護起來,使得逆向工作變得更加困難,顯然,逆不出中間層也就還原不出演算法。
面對這種情況我們該如何應對呢?解決辦法是採用黑盒調用的方式,忽略演算法的具體細節,使用Frida把SO載入起來,直接調用裡面的演算法得到計算結果,構造出正確的參數,將封包傳給伺服器。也可以將調用過程封裝成API暴露給同事使用,甚至搭建計算集群,加快運行速度,提高運行效率。本書詳細地介紹了基於Frida和Xposed的演算法批量調用和轉發實踐,並給出了具體的案例分析。
如果App對Frida或Xposed進行了檢測,我們還可以採用編譯安卓源碼的方式打造屬於自己的抓包沙箱。對於系統來說,由於App的全部代碼都是依賴系統去完成執行的,因此無論是加固App在運行時的脫殼,還是App發送和接收資料包,對於系統本身來說App的行為都是沒有隱私的。換句話說,如果在系統層或者更底層對App的行為進行監控,App的很多關鍵資訊就會暴露在“陽光”之下一覽無餘。之後可以直接修改系統源碼,使用r0capture工具為Hook的那些API中加入一份日誌,即可把處於明文狀態的包列印出來,從而實現無法對抗的抓包系統沙箱。
Frida以其簡潔的介面和強大的功能迅速俘獲了安卓應用安全研究員以及爬蟲研究員的芳心,成為逆向工作中的絕對主力,筆者也有幸在Frida普及的浪潮中做了一些總結和分享,建立了自己的社群,與大家一起跟隨Frida的更新腳步共同成長和進步。
本書翔實地介紹了如何安裝和使用Frida、基本的環境搭建、Frida-tools、Frida腳本、Frida API、批量自動化Trace和分析、RPC遠端方法調用,並包含大量App逆向與協議分析案例實戰,此外,還介紹了更加穩定的框架Xposed的使用方法,以及從安卓源碼開始定制屬於自己的抓包沙箱,打造無法被繞過的抓包環境等內容。
本書技術新穎,案例豐富,注重實操,適合以下人員閱讀:
? 安卓應用安全工程師。
? 安卓逆向分析工程師。
? 爬蟲工程師。
? 大資料收集和分析工程師。
在本書完稿時,Frida版本更新到15,安卓也即將推出版本12,不過請讀者放心,本書中的代碼可以在特定版本的Frida和安卓中成功運行。
安卓逆向是一門實踐性極強的學科,讀者在動手實踐的過程中難免會產生各式各樣的疑問,因此筆者特地準備了GitHub倉庫更新和勘誤,讀者如有疑問可以到倉庫的issue頁面提出,筆者會盡力解答和修復。
最後,在這裡感謝筆者的父母,感謝中科院信工所的Simpler,感謝看雪學院和段鋼先生,感謝寒冰冷月、imyang,感謝xiaow、bxl、寄予藍、白龍,感謝葫蘆娃、智障、NWMonster、非蟲,成就屬於你們。
陳佳林
2022年1月 |
內容簡介:本書翔實地介紹流行的Frida工具在安卓逆向工程中的應用,內容包括:如何安裝和使用Frida、基本環境的搭建、Frida-tools、Frida腳本、Frida API、批量自動化Trace和分析、RPC遠端方法調用、在無須逆向演算法具體實現的情況下對Frida工具的調用,並提供了大量App逆向與協議分析案例,書中還介紹了更加穩定的Xposed框架的使用方法,以及從安卓源碼開始定制屬於自己的抓包沙箱,打造無法被繞過的抓包環境等內容。 本書案例豐富,注重實操,適合安卓應用安全工程師、安卓逆向分析工程師、爬蟲工程師以及大資料獲取和分析工程師使用。 |
目錄:第1章 安卓逆向環境搭建 1.1 虛擬機器環境準備 1.2 逆向環境準備 1.3 移動設備環境準備 1.3.1 刷機 1.3.2 ROOT 1.3.3 Kali NetHunter刷機 1.4 Frida開發環境搭建 1.4.1 Frida介紹 1.4.2 Frida使用環境搭建 1.4.3 Frida開發環境配置 1.5 本章小結 第2章 Frida Hook基礎與快速定位 2.1 Frida基礎 2.1.1 Frida基礎介紹 2.1.2 Frida Hook 基礎 2.1.3 Objection基礎 2.2 Hook快速定位方案 2.2.1 基於Trace枚舉的關鍵類定位方式 2.2.2 基於記憶體枚舉的關鍵類定位方式 2.3 本章小結 第3章 Frida腳本開發之主動調用與RPC入門 3.1 Frida RPC開發姿勢 3.2 Frida Java層主動調用與RPC 3.3 Frida Native層函數主動調用 3.4 本章小結 第4章 Frida逆向之違法App協議分析與取證實戰 4.1 加固App協議分析 4.1.1 抓包 4.1.2 註冊/登錄協議分析 4.2 違法應用取證分析與VIP破解 4.2.1 VIP清晰度破解 4.2.2 圖片取證分析 4.3 本章小結 第5章 Xposed Hook及主動調用與RPC實現 5.1 Xposed應用Hook 5.1.1 Xposed安裝與Hook外掛程式開發入門 5.1.2 Hook API詳解 5.1.3 Xposed Hook加固應用 5.1.4 使用Frida一探Xposed Hook 5.2 Xposed主動調用與RPC實現 5.2.1 Xposed主動調用函數 5.2.2 Xposed結合NanoHTTPD實現RPC調用 5.3 本章小結 第6章 Android源碼編譯與Xposed魔改 6.1 Android源碼環境搭建 6.1.1 編譯環境準備 6.1.2 源碼編譯 6.1.3 自編譯系統刷機 6.2 Xposed 本書翔實地介紹流行的Frida工具在安卓逆向 工程中的應用,內容包括:如何安裝和使用Frida 、基本環境的搭建、Frida-tools、Frida腳本、 Frida API、批量自動化Trace和分析、RPC遠端方 法調用、在無須逆向演算法具體實現的情況下對 Frida工具的調用,並提供了大量App逆向與協議分 析案例,書中還介紹了 加穩定的Xposed框架的使 用方法,以及從安卓源碼開始 屬於自己的抓包 沙箱,打造無法被繞過的抓包環境等內容。 本書案例豐富,注重實操,適合安卓應用安全 工程師、安卓逆向分析工程師、爬蟲工程師以及大 資料獲取和分析工程師使用。 |
序: |