Fridaベースのツールの紹介-Objection

1639 ワード

Objectionの紹介
objectionはFridaに基づいて開発されたコマンドラインツールで、HookJava関数とクラスを便利にし、パラメータを出力し、スタックを呼び出し、値を返すことができます.
1.1 Objectionのインストール
pip install objection

1.2 Objectionの起動
  • Frida serverが
  • を開くことを保証する
  • コマンドライン出力
    objection -g packageName explore
    
    はobjectionが提供するインタラクティブインターフェースに入ることができ、Fridaのcliインタラクティブ環境と同様に、次の操作はこのインタラクティブインターフェースに基づいています.

  • 1.3 Hook Javaメソッド
    android hooking watch class_method com.xxx.xxx.methodName --dump-args --dump-backtrace --dump-return
    

    内部クラスや匿名の内部クラスのHookに遭遇することがあります.心配しないでください.クラスをcomと仮定します.test.a,内部クラスはb,完全な経路はcomである.test.a$bは、匿名の内部クラスである場合、smaliコードを表示することができ、comと命名することが多い.test.a$1という形です.
    1.4 Hook Javaクラス
    android hooking watch class com.xxx.xxx
    

    クラスのHookに対して完全な呼び出しスタック印刷などの機能は提供されていません(疑わしい)
    1.5 Spawn方式Hook
    Objectionの使用操作から、ObejctionはAttach付加モードでHookを行うことがわかります.これは、より早いHookタイミングを逃す可能性があります.以下のコードでObjectionを起動することができます.引用符のobjectionコマンドは起動時にAppに注入されます.
    objection -g packageName explore --startup-command 'android hooking watch xxx' 
    

    1.6 Root運転フリーFrida
    Fridaは、frida-gadgetライブラリに手動で注入し、Objectionがカプセル化するrootフリーのHookスキームを提供しています.しかし、実際には何の役にも立たない.このほか、ObjectionはIOSに対するHook、sslunpingに対する処理、Hookカットボード/Root検出などを提供しているが、実際にはあまり役に立たず、一般的には他の専門的なツールを選ぶが、ここでは触れない.
    詳細はObjection githubディレクトリの下objection-console-helpfilesを参照
    1.7 Objectionの欠陥
  • Nativeレイヤのサポート
  • が不足しています.
  • オブジェクトタイプデータの印刷に問題があります.例えば、Byte arrayとJsonは[object,object]
  • と表示されます.
  • Spawn方式起動のサポートがスムーズでない
  • 1.8 Objectionを終了する
    インタラクティブ環境でexitを入力する