Cross-platform instrumentation and introspection library written in C
1,019
stars
5,735
commits
C
primary language
Sep 9, 2026
updated
Cross-platform instrumentation and introspection library written in C.
This library is consumed by frida-core through its JavaScript bindings, GumJS.
Provides:
Instrumentation core
Cross-platform introspection
Out-of-process dynamic linker for i/macOS: Gum.Darwin.Mapper
Code generation:
Code relocation:
Helper libraries for developers needing highly granular:
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.
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
Download a devkit for statically linking into your own projects from the Frida releases page.
(top 30 of 103)
C
84.3%
C++
11.0%
Python
1.9%
Cross-platform instrumentation and introspection library written in C
1,019
stars
5,735
commits
C
primary language
Sep 9, 2026
updated
Cross-platform instrumentation and introspection library written in C.
This library is consumed by frida-core through its JavaScript bindings, GumJS.
Provides:
Instrumentation core
Cross-platform introspection
Out-of-process dynamic linker for i/macOS: Gum.Darwin.Mapper
Code generation:
Code relocation:
Helper libraries for developers needing highly granular:
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.
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
Download a devkit for statically linking into your own projects from the Frida releases page.
(top 30 of 103)
C
84.3%
C++
11.0%
Python
1.9%