網(wǎng)站制作NEWS
Frida常用api大全
完整內(nèi)容及源碼關注公眾號:ReverseCode,發(fā)送沖
靜態(tài)函數(shù)使用方式為 "use",而動態(tài)函數(shù)則通過 "choose" 來調(diào)用。
在修改變量時,靜態(tài)變量使用 "use",動態(tài)變量則使用 "choose"。
構造函數(shù)的主動調(diào)用可以使用Hook,枚舉類的所有方法則需要遍歷類的每個成員函數(shù)。
當方法名被混淆時,可以使用編碼后的字符串hook,進行打印類名。如遇到特殊不可見字符,使用編碼后的字符串進行hook。
通過wallbreaker可以枚舉所有類,獲取指定包下所有類的接口實現(xiàn)。在多個ClassLoader環(huán)境下,可以枚舉指定類所有關聯(lián)的接口實現(xiàn)和父子類關系。
Hook Char&ByteHook、MapHook、重載Hook、內(nèi)部類Hook、匿名類Hook、枚舉類Hook,以及動態(tài)加載dex都是Frida中常用的方法。
在經(jīng)常遇到加殼app的情況下,可能無法正確找到正常加載app類的classloader,這時可以使用動態(tài)加載dex的方法解決。
調(diào)用棧的打印可以幫助我們跟蹤類的調(diào)用路徑,手動注冊類Hook可以在特定場景下實現(xiàn)功能。然而,如果在主線程運行時出現(xiàn)錯誤,如on a thread that has not called Looper.prepare(),需要進行適當?shù)腻e誤處理。
在過濾打印時,有時需要禁止退出。修改設備參數(shù)請求調(diào)用棧上下文時,需要確保正確使用Context。
RPC(Remote Procedure Call)是另一種調(diào)用遠程服務的方法,通常需要進行強制類型轉(zhuǎn)換以確保數(shù)據(jù)的正確傳輸。
常用算法如base64編碼,可以使用常用轉(zhuǎn)換模板進行快速實現(xiàn)。
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!
多重隨機標簽