抖音數(shù)據(jù)采集Frida脫殼工具
短視頻、直播數(shù)據(jù)實時采集接口,請查看文檔: TiToData
免責聲明:本文檔僅供學習與參考,請勿用于非法用途!否則一切后果自負。
概述
現(xiàn)在很多 app 都會對 Frida 進行檢測,所以要根據(jù)app的情況來具體使用
殼的分類
殼的種類非常多,可以簡單的分為以下三類:
- 一代整體型:采用Dex整體加密,動態(tài)加載運行的機制(免費類的殼);
- 二代函數(shù)抽取型:將方法單獨抽取出來,加密保存,解密執(zhí)行(某加密);
- 三代VMP、Dex2C:獨立虛擬機解釋執(zhí)行。
Frida-Unpack
firda-unpack 原理是利用frida hook libart.so中的OpenMemory方法,拿到內(nèi)存中dex的地址,計算出dex文件的大小,從內(nèi)存中將dex導出,我們可以查看項目中的 OpenMemory.js 文件中的代碼更清晰直觀地了解。
參考文獻: https://bbs./thread-258776.htm GitHub地址:https://github.com/GuoQiang1993/Frida-Apk-Unpack
將 dex 文件并 dump 下來,保存在 data/data/packageName 目錄下
FRIDA-DEXDump
葫蘆娃所寫,脫殼后的dex文件保存在PC端main.py同一目錄下,以包名為文件名
GitHub地址:https://github.com/hluwa/FRIDA-DEXDump
frida_dump
文件頭搜索dex,來脫殼
會搜索 dex 文件并 dump 下來,保存在 data/data/packageName/files 目錄下 GitHub地址:https://github.com/lasting-yang/frida_dump
Frida_Fart[推薦]
寒冰寫的, Frida 版的 Fart, 目前只能在 andorid8 上使用該frida版fart是使用hook的方式實現(xiàn)的函數(shù)粒度的脫殼,僅僅是對類中的所有函數(shù)進行了加載,但依然可以解決絕大多數(shù)的抽取保護
GitHub地址:https://github.com/hanbinglengyue/FART 下載 frida_fart.zip 即可
- 解壓
frida_fart.zip
- 將目錄中的
fart.so 與 fart64.so 推送到 /data/app目錄下 并使用 chmod 777
- 需要以spawn方式啟動app,等待app進入Activity界面后,執(zhí)行fart()函數(shù)即可。如app包名為com.example.test,則
frida -U -f com.example.test -l frida_fart_hook.js --no-pause
Shell _ 復制_
- 等待app進入主界面,執(zhí)行fart()
高級用法:如果發(fā)現(xiàn)某個類中的函數(shù)的CodeItem沒有dump下來,可以調(diào)用dump(classname),傳入要處理的類名,完成對該類下的所有函數(shù)體的dump,dump下來的函數(shù)體會追加到bin文件當中。
于被動調(diào)用的脫殼修復,由于代碼覆蓋率低,不可能觸發(fā)app中的所有函數(shù)的調(diào)用,因此,修復的范圍有限。
|