Frida官方文檔-操作模式

Frida通過其強大的用C語言編寫的工具核心Gum提供了動態工具。由於這種工具邏輯易於更改,因此您通常希望用腳本語言編寫它,以便在開發和維護它時獲得簡短的反饋循環。 這就是GumJS發揮作用的地方。 僅需幾行C語言,您就可以在可以完全訪問Gum API的運行時中運行一段JavaScript,從而允許您掛接函數,枚舉已加載的庫,其導入和導出的函數,讀取和寫入內存,掃描內存中的模式 等
Frida提供

目錄

注入式的
嵌入式的
預裝的

Injected

在大多數情況下,您想生成一個現有程序,附加到一個正在運行的程序,或者劫持一個正在生成的程序並在其中運行您的檢測邏輯。由於這是使用Frida的常見方式,因此我們大多數文檔都着眼於此。 該功能由frida-core提供,它用作物流層(logistics layer),將GumJS打包到一個共享庫中,並注入到現有軟件中,並提供雙向通信通道,以在需要時與您的腳本對話,然後卸載。 他們。 除了此核心功能之外,frida-core還允許您枚舉已安裝的應用程序,正在運行的進程和已連接的設備。 連接的設備通常是運行frida-server的iOS和Android設備。 該組件本質上只是一個守護程序,它通過TCP公開frida-core,默認情況下在localhost:27042上偵聽。

Embedded

有時無法在注入模式下使用Frida,例如在沒有越獄(jailed )的iOS和Android系統上。 在這種情況下,我們爲您提供frida-gadget,這是一個共享庫,您應該將其嵌入要檢測的程序中。 通過簡單地加載庫,它將允許您使用現有的基於Frida的工具(例如frida-trace)與它進行遠程交互。 它還支持一種完全自主的方法,該方法可以在文件系統外運行腳本,而無需任何外部通信。

在這裏閱讀更多關於Gadget的內容

Preloaded

也許您對LD_PRELOAD或DYLD_INSERT_LIBRARIES很熟悉? 如果有JS_PRELOAD會不會很酷? 這是上一節中討論的共享庫frida-gadget在配置爲通過從文件系統加載腳本自動運行時真正有用的地方。

在這裏閱讀更多關於Gadget的內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章