メソッドが呼び出される頻度を示すメソッドプロファイリングとは対照的に、メソッドトレースはメソッドの入出力値を測定するのに役立ちます。この技法は、大規模なコードベースであったり難読化されているアプリケーションを扱う際に非常に役立ちます。
GUI ベースのアプローチを好む場合は、RMS Runtime Mobile Security などのツールを使用できます。これはより視覚的な体験を可能にし、いくつかの便利な トレースオプションarrow-up-right も備えています。
コマンドラインを好む場合、Frida は Java クラスとメソッドをクエリするための便利な構文と、-j 経由で frida-trace の Java メソッドトレースサポートを提供します (frida-tools 8.0, Frida 12.10 以降)。
-j
Frida スクリプトの場合: 例: Java.enumerateMethods('*youtube*!on*') は glob を使用して、名前の一部に "youtube" を含むすべてのクラスを取得し、"on" で始まるすべてのメソッドを列挙します。
Java.enumerateMethods('*youtube*!on*')
frida-trace の場合: 例: -j '*!*certificate*/isu' は、大文字と小文字を区別しないクエリ (i) をトリガーし、メソッドシグネチャ (s) を含め、システムクラス (u) を除外します。
-j '*!*certificate*/isu'
i
s
u
この新機能の詳細については Frida 12.10 のリリースノートarrow-up-right を参照してください。高度な使用方法に関するすべてのオプションの詳細については Frida の公式ウェブサイトのドキュメントarrow-up-right をチェックしてください。
Last updated 4 days ago