2026-11-05 22:43:11 +01:00
2026-11-06 12:19:35 +01:00
2026-10-20 20:21:18 +02:00
2026-10-20 20:21:18 +02:00
2026-04-10 13:13:22 +02:00

frida-core

Frida core library.

  • Lets you inject your own JavaScript instrumentation code into other processes, optionally with your own C code for performance-sensitive bits.
  • Acts as a logistics layer that packages up GumJS into a shared library.
  • Provides a two-way communication channel for talking to your scripts, if needed, and later unload them.
  • Also lets you enumerate installed apps, running processes, and connected devices.
  • Written in Vala, with OS-specific glue code in C/Objective-C/asm.

Binaries

Typically used through one of the available language bindings:

E.g.:

$ pip install frida-tools # CLI tools
$ pip install frida # Python bindings
$ npm install frida # Node.js bindings

Or, for static linking into your own project written in a C-compatible language, download a devkit from the Frida releases page.

Distro Packaging

For building a shared library suitable for distro packaging:

$ ./configure --enable-shared --without-prebuilds=sdk && make

This builds libfrida-core-1.0.so against system dependencies, while frida-agent.so is built using Frida's SDK (with its GLib fork, needed for the agent's inject/unload lifecycle).

Prerequisites on Fedora:

$ sudo dnf install libgee-devel json-glib-devel \
      libsoup3-devel libunwind-devel libdwarf-devel \
      libnice-devel ngtcp2-crypto-ossl-devel

Prerequisites on Ubuntu:

$ sudo apt install libgee-0.8-dev libjson-glib-dev \
      libsoup-3.0-dev libunwind-dev libdwarf-dev \
      libnice-dev libngtcp2-crypto-ossl-dev

Prerequisites on macOS:

$ brew install libgee json-glib libsoup libnice capstone

Internals

For a higher level view of the internals, check out the architecture diagram and its links to the different parts of the codebase.

17.26.2
Latest
2026-11-07 17:13:39 -10:00
Languages
Vala 45.2%
C 16.2%
Rust 16.2%
Go 9.1%
Python 3.7%
Other 9.6%