frida/frida-gum

Cross-platform instrumentation and introspection library written in C

1,019

stars

5,735

commits

C

primary language

Sep 9, 2026

updated

frida.re
frida
instrumentation

README

Gum

Cross-platform instrumentation and introspection library written in C.

This library is consumed by frida-core through its JavaScript bindings, GumJS.

Provides:

Build Instructions

Builds can be configured with the configure script. configure.bat is available for Windows users.

./configure --enable-gumpp --enable-gumjs --enable-tests
make

Run configure with --help to see all options.

Testing

Tests are built with make test and run with ./build/tests/gum-tests. You can specify a test path with -p to run a specific test or group of tests.

Test paths follow the pattern /<Area>/<Module>/<test_name> where the area/module come from TESTENTRY macros in the fixture files (e.g. TESTENTRY_WITH_FIXTURE("Core/Interceptor", ...)).

./build/tests/gum-tests
./build/tests/gum-tests -p /Core/Interceptor/attach_one

Binaries

Download a devkit for statically linking into your own projects from the Frida releases page.

Contributors

(top 30 of 103)

oleavr

5,013 commits

s1341

217 commits

mrmacete

111 commits

frida/frida-gum

Cross-platform instrumentation and introspection library written in C

1,019

stars

5,735

commits

C

primary language

Sep 9, 2026

updated

frida.re
frida
instrumentation

README

Gum

Cross-platform instrumentation and introspection library written in C.

This library is consumed by frida-core through its JavaScript bindings, GumJS.

Provides:

Build Instructions

Builds can be configured with the configure script. configure.bat is available for Windows users.

./configure --enable-gumpp --enable-gumjs --enable-tests
make

Run configure with --help to see all options.

Testing

Tests are built with make test and run with ./build/tests/gum-tests. You can specify a test path with -p to run a specific test or group of tests.

Test paths follow the pattern /<Area>/<Module>/<test_name> where the area/module come from TESTENTRY macros in the fixture files (e.g. TESTENTRY_WITH_FIXTURE("Core/Interceptor", ...)).

./build/tests/gum-tests
./build/tests/gum-tests -p /Core/Interceptor/attach_one

Binaries

Download a devkit for statically linking into your own projects from the Frida releases page.

Contributors

(top 30 of 103)

oleavr

5,013 commits

s1341

217 commits

mrmacete

111 commits

Languages

C

84.3%

C++

11.0%

Python

1.9%