Frida官方手冊 - 在Android上使用Frida

freakish發表於2017-10-21

在Android上使用Frida

  • 在這篇教程裡面,我們來演示一下如何在Android裝置上進行函式跟蹤。

設定你的Android裝置

  • 在我們開始之前,請確保你的Android裝置已經完成root操作。我們大部分的實驗操作都是在Android4.4版本上進行的,但是Frida本身是支援從4.2到6.0的版本的,但是目前來說對Art的支援還是有限的,所以我們建議最後還是用使用Dalvik虛擬機器的系統裝置或者模擬器來進行嘗試。
  • 除了一臺root裝置之外,還需要安裝Android SDK工具,因為我們要用到它的 adb 工具。
  • 首先,下載最新的Android裝置上的 frida-server (下載地址:https://github.com/frida/frida/releases),然後把這個檔案在手機上執行起來:
  • 最後要注意的是,確保你的 frida-server 是以root許可權執行的,在已經root過裝置上,先執行su,然後再執行程式,即可確保是root許可權執行的。
  • 接下來,使用adb看看裝置是否連線正常:
  • 這個操作主要是為了確保adb守護程式在你的主控端電腦上執行正常,也同時保證Frida可以正常和裝置進行通訊。

快速冒煙測試

  • 現在,一切環境準備完畢,為了測試Frida是否準備正常,執行如下命令:
  • 這條命令應該會顯示一個程式列表:
  • 有了以上這些準備,我們就可以順暢的往下走了。

跟蹤Chrome裡的Open()函式

  • 現在我們就開始吧,在你的Android機器上啟動Chrome App然後在你的主控端電腦上執行如下命令:
  • 現在你可以任意的在Chrome App裡面任意玩耍啦,現在可以看到主控端的命令列關於 open() 的輸出了:
  • 現在可以實時的修改JavaScript指令碼,並且在Android的App裡面深挖了。

構建自己的工具

  • 像是 Frida,Frida-trace 等這些工具確實很有用,但是有時候你會發現你還是需要定製自己更加個性化的功能,那就最好去讀一下 FunctionsMessages 這兩章,比如當你使用到 frida.attach() 的時候,其實底層呼叫的就是 frida.get_usb_device().attach()

相關文章