ProbeDroid は、 Android アプリケーション用の動的 Java コード インストルメンテーション キットであり、ユーザーが独自のインストルメンテーション ツールを作成するための API を提供します。その結果、ユーザーは関心のあるアプリケーションの実行時の動作をトレース、プロファイリング、または変更することができます。本質的に、 Java メソッドは基本的なインストルメンテーション ユニットです。対象のメソッドを操作するには、ユーザーはテンプレート インストルメンテーション ガジェットをオーバーライドし、対象のメソッドをフックするように登録する必要があります。フックされたメソッドが実行時に呼び出されると、制御フローがガジェットに転送されます。この時点で、ユーザーはボックス化されたメソッドの入力引数と戻り値を操作できるようになります。現段階では、ProbeDroid は Android 5.0 以降をターゲットとしています。 ProbeDroid キットを構築するには、ユーザーは GitHub からパッケージを取得し、構築コマンドに従うだけです。 Android ソース ツリーは必要ありません。
ソース構築 Wiki を参照してください。
Play and Hack Wiki を参照してください。
画像をクリックするとデモビデオが表示されます
StringBuilder および StringBuffer オブジェクトから変換された文字列を追跡するシンプルなインストルメンテーション ツール。変換された文字列に対してフォレンジックを行うと、GoogleMaps が一部のネットワーク認証に Java リフレクションを適用していることがわかります。また、いくつかの C/C++ コードを動的に生成し、マップ レンダリング用にコンパイルします。 |
画像をクリックするとデモビデオが表示されます
開始されたアクティビティとサービスを追跡するシンプルなインストルメンテーション ツール。追跡されたコンポーネントに対してフォレンジックを行うと、KKTix がチケット予約ページをレンダリングするために数種類のアクティビティを適用していることがわかります。また、バックグラウンド計算のためのサービスを開始します。 |
以下のソースコードを除きます。
android/art/runtime/
、 common/log.*
、 common/stringprintf.*
、 common/utf.*
、およびcommon/macros.h
サブツリーは [AOSP] に属しており、 Apache v2.0の下でライセンスされています。common/libffi/
サブツリーは [libffi] に属し、 MITの下でライセンスされています。すべてのソース コードはMITに基づいてライセンスされています。詳細については、 「コピー」を参照してください。
[email protected]までメールでご連絡ください。
キットはまだ製作中であることに注意してください。投稿とバグレポートが望まれます。