官术网_书友最值得收藏!

前言

安卓操作系統(tǒng)目前在中國乃至世界范圍內(nèi)占據(jù)主流,大量互聯(lián)網(wǎng)、市政、金融、O2O、出租車等公司及部門將業(yè)務(wù)依托于App的方式交付給最終用戶,這些App真的安全嗎?前有各類爬蟲軟件對票務(wù)、市政企業(yè)個人信息等App內(nèi)容的瘋狂抓取,后有拼多多被薅數(shù)十億羊毛的事件,因此App的安全、逆向工程及自動化利用技術(shù)越來越受到App開發(fā)者的關(guān)注。

自從Frida于2014年年末問世以來,迅速在全球安全社區(qū)掀起了“Frida熱潮”,借助Frida動態(tài)修改內(nèi)存的特性實現(xiàn)了快速逆向和算法調(diào)用功能,安卓應(yīng)用安全分析和對抗技術(shù)從未像如今這樣成熟和自動化。

作為安卓應(yīng)用安全測評工程師,或者大數(shù)據(jù)平臺采集工程師,逆向研究員對于App的逆向分析研究及其算法的還原和接口調(diào)用的熱愛仿佛是刻在骨子里的。

與逆向技術(shù)的發(fā)展相對應(yīng)的是,很多大型軟件和平臺的開發(fā)者也逐漸把算法藏得越來越深,越來越難以逆向。這里面最具有代表性的是強混淆框架Ollvm和Arm層的虛擬機保護(hù)技術(shù)Vmp,前者注重增加算法本身的復(fù)雜度,后者通過增加一套中間層將算法保護(hù)起來,使得逆向工作變得更加困難,顯然,逆不出中間層也就還原不出算法。

面對這種情況我們該如何應(yīng)對呢?解決辦法是采用黑盒調(diào)用的方式,忽略算法的具體細(xì)節(jié),使用Frida把SO加載起來,直接調(diào)用里面的算法得到計算結(jié)果,構(gòu)造出正確的參數(shù),將封包傳給服務(wù)器。也可以將調(diào)用過程封裝成API暴露給同事使用,甚至搭建計算集群,加快運行速度,提高運行效率。本書詳細(xì)地介紹了基于Frida和Xposed的算法批量調(diào)用和轉(zhuǎn)發(fā)實踐,并給出了具體的案例分析。

如果App對Frida或Xposed進(jìn)行了檢測,我們還可以采用編譯安卓源碼的方式打造屬于自己的抓包沙箱。對于系統(tǒng)來說,由于App的全部代碼都是依賴系統(tǒng)去完成執(zhí)行的,因此無論是加固App在運行時的脫殼,還是App發(fā)送和接收數(shù)據(jù)包,對于系統(tǒng)本身來說App的行為都是沒有隱私的。換句話說,如果在系統(tǒng)層或者更底層對App的行為進(jìn)行監(jiān)控,App的很多關(guān)鍵信息就會暴露在“陽光”之下一覽無余。之后可以直接修改系統(tǒng)源碼,使用r0capture工具為Hook的那些API中加入一份日志,即可把處于明文狀態(tài)的包打印出來,從而實現(xiàn)無法對抗的抓包系統(tǒng)沙箱。

Frida以其簡潔的接口和強大的功能迅速俘獲了安卓應(yīng)用安全研究員以及爬蟲研究員的芳心,成為逆向工作中的絕對主力,筆者也有幸在Frida普及的浪潮中做了一些總結(jié)和分享,建立了自己的社群,與大家一起跟隨Frida的更新腳步共同成長和進(jìn)步。

本書翔實地介紹了如何安裝和使用Frida、基本的環(huán)境搭建、Frida-tools、Frida腳本、Frida API、批量自動化Trace和分析、RPC遠(yuǎn)程方法調(diào)用,并包含大量App逆向與協(xié)議分析案例實戰(zhàn),此外,還介紹了更加穩(wěn)定的框架Xposed的使用方法,以及從安卓源碼開始定制屬于自己的抓包沙箱,打造無法被繞過的抓包環(huán)境等內(nèi)容。

本書技術(shù)新穎,案例豐富,注重實操,適合以下人員閱讀:

· 安卓應(yīng)用安全工程師。

· 安卓逆向分析工程師。

· 爬蟲工程師。

· 大數(shù)據(jù)收集和分析工程師。

在本書完稿時,F(xiàn)rida版本更新到15,安卓也即將推出版本12,不過請讀者放心,本書中的代碼可以在特定版本的Frida和安卓中成功運行。

安卓逆向是一門實踐性極強的學(xué)科,讀者在動手實踐的過程中難免會產(chǎn)生各式各樣的疑問,因此筆者特地準(zhǔn)備了GitHub倉庫更新和勘誤,讀者如有疑問可以到倉庫的issue頁面提出,筆者會盡力解答和修復(fù)。筆者的GitHub:https://github.com/r0ysue/AndroidFridaSeniorBook。

最后,在這里感謝筆者的父母,感謝中科院信工所的Simpler,感謝看雪學(xué)院和段鋼先生,感謝寒冰冷月、imyang,感謝xiaow、bxl、寄予藍(lán)、白龍,感謝葫蘆娃、智障、NWMonster、非蟲,成就屬于你們。

陳佳林

2022年1月

主站蜘蛛池模板: 台南市| 鄂托克前旗| 石嘴山市| 大安市| 长兴县| 青铜峡市| 长丰县| 马关县| 石景山区| 万载县| 涪陵区| 台北市| 台安县| 连山| 迁安市| 郸城县| 北流市| 儋州市| 屏山县| 永平县| 长寿区| 福建省| 西丰县| 阿克| 刚察县| 水城县| 平乐县| 大冶市| 共和县| 靖安县| 沧州市| 广安市| 泰和县| 乌鲁木齐县| 肥东县| 保山市| 浦东新区| 海伦市| 阳原县| 尚志市| 白朗县|