Frida官方文檔

歡迎

該網址旨在成爲Frida的綜合指南。我們將介紹諸如從命令行進行交互式功能跟蹤,在Frida的API之上構建自己的工具之類的主題,併爲您提供有關參與Frida自身未來發展的一些建議。

Frida到底是什麼

它是一個本機應用程序的Greasemonkey(“油猴子”),或者用更加專業的術語,他是一個動態代碼檢測工具。它允許你將JavaScript代碼片段或者你自己的庫到Windows, macOS, GNU/Linux, iOS, Android, and QNX的本機應用中。Frida還爲您提供了一些基於Frida API的簡單工具。。這些可以按原樣使用,根據您的需要進行調整,或者用作有關如何使用API的示例。

我爲什麼需要這個

好問題。 我們將嘗試闡明一些用例:

  1. 每個人都對這個新的熱門應用感到非常興奮,但它僅適用於iOS,並且您希望與之互操作。 您意識到它依賴於加密的網絡協議,而諸如Wireshark之類的工具將不會削減它。 您選擇Frida並將其用於API跟蹤。
  2. 您正在構建一個已部署在客戶站點上的桌面應用程序。 有一個問題,但是內置的日誌記錄代碼還不夠。 您需要向客戶發送包含大量昂貴日誌記錄代碼的自定義版本。 然後,您意識到您只需要使用Frida並構建一個特定於應用程序的工具,即可在幾行Python中添加所需的所有診斷信息。 無需向客戶發送新的自定義版本-您只需發送可在您的許多版本的應用程序上使用的工具即可。
  3. 您想在steroids (類固醇)上構建Wireshark,並支持嗅探加密協議。 它甚至可以操縱函數調用以僞造網絡條件,否則將需要您建立測試實驗室。
  4. 您的內部應用程序可以使用一些黑盒測試,而不會使用異類測試所需的邏輯來污染您的生產代碼

爲什麼要使用Python API,但要使用JavaScript調試邏輯?

Frida的核心是用C編寫的,並將Google的V8引擎注入到目標進程中,在該目標進程中,您的JS可以完全訪問內存,掛鉤函數甚至在進程內部調用本機函數來執行。 有一個雙向通信通道,用於在您的應用和目標進程中運行的JS之間進行對話。
使用Python和JS可以使用無風險的API進行快速開發。 Frida可以幫助您輕鬆捕獲JS中的錯誤,併爲您提供異常而不是崩潰。
不用Python編寫? 沒問題。 您可以直接從C使用Frida,並且在此C核心之上有多種語言綁定,例如 Node.js,Python,Swift,.NET,Qml等。爲其他語言和環境構建附加綁定非常容易。

ProTips™, Notes, and Warnings

在本指南中,有許多小而方便的信息,這些信息可以使使用Frida更加容易,有趣和危險。 這是要注意的地方。
在這裏插入圖片描述
如果您遇到了我們未涵蓋的任何內容,或者您知道其他人會覺得有用的提示,請提出問題,我們將在本指南中予以介紹。

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