
Cで書かれたクロスプラットフォームのインストルメンテーションおよびイントロスペクションライブラリ
C で書かれたクロスプラットフォームのインストルメンテーションおよびイントロスペクションライブラリ。
このライブラリは frida-core によって、その JavaScript バインディングである GumJS を通じて利用されます。
提供する機能:
インストルメンテーションコア
クロスプラットフォームのイントロスペクション
i/macOS 向けのプロセス外動的リンカ: Gum.Darwin.Mapper
コード生成:
コード再配置:
高度に細かい制御を必要とする開発者向けのヘルパーライブラリ:
ビルドは configure スクリプトで設定できます。Windows ユーザー向けには configure.bat が利用可能です。
./configure --enable-gumpp --enable-gumjs --enable-tests
make
すべてのオプションを表示するには --help を付けて configure を実行してください。
テストは make test でビルドされ、./build/tests/gum-tests で実行されます。
-p でテストパスを指定すると、特定のテストまたはテストグループを実行できます。
テストパスは /<Area>/<Module>/<test_name> というパターンに従います。ここで area/module はフィクスチャファイル内の TESTENTRY マクロに由来します (例: TESTENTRY_WITH_FIXTURE("Core/Interceptor", ...))。
./build/tests/gum-tests
./build/tests/gum-tests -p /Core/Interceptor/attach_one
自身のプロジェクトに静的リンクするための devkit は、Frida の releases ページからダウンロードできます。