Frida
Frida Documentation Index
Source: frida/frida-website Fetched: 2026-04-22 Files: 38
Table of Contents
| File | Summary |
|---|---|
| content/_index.md | Overview of Frida — a dynamic code instrumentation toolkit that injects JavaScript or native libraries into running processes on Windows, macOS, Linux, iOS, Android, FreeBSD, and QNX. |
| content/installation.md | Step-by-step guide to installing Frida CLI tools via pip, verifying the installation by attaching to a process, and enabling ptrace on Linux. |
| content/quickstart.md | Step-by-step guide to tracing native functions in a running process with frida-trace, including installing frida-tools, using glob patterns to hook functions, and customizing auto-generated JavaScript handler scripts. |
| content/modes.md | Reference for Frida’s three injection/execution modes—Injected, Embedded (Gadget), and Preloaded—covering architecture, platform constraints, Gadget configuration, and interaction types. |
| content/javascript-api.md | Complete Frida JavaScript API reference covering runtime info, process/memory/module introspection, data types, instrumentation (Interceptor/Stalker), ObjC/Java bridges, CPU writers/relocators, networking, file I/O, and utilities. |
| content/c-api.md | Frida C API reference covering the frida-gum library’s interceptor, stalker, memory, process, module, and exception handling interfaces for low-level dynamic instrumentation from C code. |
| content/functions.md | Practical reference for Frida function instrumentation: hooking with Interceptor.attach(), modifying arguments, calling native functions via NativeFunction, injecting strings with Memory.allocUtf8String(). |
| content/messages.md | Reference for Frida’s bidirectional messaging API between an injected JavaScript script and the host Python controller, covering send(), recv(), post(), message types, and blocking receives. |
| content/stalker.md | Frida Stalker is a per-thread code tracing engine that instruments basic blocks at runtime on AArch64, x86-64, and IA-32 by copying them to RWX slabs and replacing branch/return instructions with re-entry gates. |
| content/gadget.md | Frida Gadget is a shared library for dynamic instrumentation when process injection is not viable, supporting Listen, Connect, Script, and ScriptDirectory interaction modes controlled via a JSON config file. |
| content/bridges.md | Frida 17.0.0+ bridge import system: ObjC, Swift, and Java bridges are no longer auto-bundled in GumJS and must be explicitly imported in compiled scripts. |
| content/best-practices.md | Frida instrumentation best practices covering safe string allocation with Memory.alloc* APIs, garbage-collection pitfalls of allocated buffers in Interceptor callbacks, and argument caching. |
| content/android.md | Step-by-step guide to deploying frida-server on a rooted Android device and using frida-trace and frida-ps for dynamic instrumentation via USB. |
| content/ios.md | Complete reference for using Frida on iOS devices, covering both jailbroken (Cydia-based frida-server) and non-jailbroken (Gadget injection) modes. |
| content/troubleshooting.md | Frida troubleshooting reference covering common attach/spawn errors on Linux, macOS, and Android with exact error messages, root causes, and fix commands. |
| content/frida-cli.md | frida is the interactive REPL CLI for attaching to, spawning, and instrumenting processes using the Frida dynamic instrumentation toolkit. |
| content/frida-trace.md | Complete CLI reference for frida-trace, covering all flags for device connection, target selection, function/module/ObjC/Swift/Java filtering, handler script structure, and session initialization. |
| content/frida-trace/session-initialization-primer.md | How to use frida-trace’s –init-session / -S option to execute JavaScript before any handler fires, enabling globally shared utility functions and persistent state across all handlers. |
| content/frida-ps.md | frida-ps lists running processes or installed applications on a local or remote/USB-attached device, with optional JSON output. |
| content/frida-kill.md | frida-kill terminates a process by name or PID on a local or remote/USB-attached device. |
| content/frida-ls-devices.md | frida-ls-devices lists all devices accessible to Frida (local, USB-tethered, and remote TCP), printing their IDs, types, names, and OS versions. |
| content/frida-discover.md | frida-discover probes a running process to enumerate its internal (non-exported) functions, producing a ranked call-count report suitable for use with frida-trace. |
| content/gadget.md | Frida Gadget shared library configuration and interaction modes reference. |
| content/gum-graft.md | CLI tool that patches Mach-O binaries ahead of time to enable Frida Interceptor instrumentation in code-signed iOS/iPadOS environments where runtime code modification is prohibited. |
| content/footprint.md | Guide to reducing Frida binary size on embedded and resource-constrained systems by selectively disabling optional features via config.mk. |
| content/building.md | Complete guide to building Frida from source for native and cross-platform targets including iOS, Android, and Raspberry Pi using its Meson-based build system. |
| content/hacking.md | Guide to porting Frida to a new CPU architecture, using Linux/MIPS as a worked example covering frida-gum backend creation and frida-core injector porting. |
| content/go-api.md | Go language bindings for Frida that enable device/process enumeration, attachment, and instrumentation from Go applications. |
| content/swift-api.md | Swift language bindings for Frida, currently a minimal stub — refer to the C API or JavaScript API for equivalent documentation. |
| content/history.md | Narrative origin story of the Frida dynamic instrumentation toolkit, covering the creation of frida-gum and frida-core, the Stalker tracing engine, and the evolution of language bindings. |
| content/presentations.md | Index of Frida conference presentations (2015–2018) with titles, venues, and links to slides, recordings, and demo code. |
| content/gsoc-ideas-2015.md | Eight proposed Google Summer of Code 2015 project ideas for Frida, covering Android first-class support, ART VM, Stalker ARM/ARM64 ports, app spawning, Linux packaging, Windows Phone, and JS backtracer API. |
| content/gsod-ideas-2023.md | Google Season of Docs 2023 proposal for restructuring Frida’s documentation, covering project scope, target audiences, deliverables, success metrics, timeline, and budget. |
| content/contributing.md | Frida project contribution channels and ways to get involved, including bug reporting, documentation, and code contributions. |
| content/examples/javascript.md | Frida JavaScript examples demonstrating V8 VM injection into Node.js processes and Perl 5 function call tracing via libuv and NativeFunction bindings. |
| content/examples/android.md | Frida Android examples covering Java bridge usage, CTF APK hooking, instance creation, overloaded constructor/method interception, and stack trace capture. |
| content/examples/ios.md | Frida iOS examples covering Objective-C method hooking, Swift interop, ObjC class/method enumeration, and runtime introspection patterns. |
| content/examples/linux.md | Frida Linux examples covering Docker container setup requirements and seccomp configuration needed to run Frida and frida-trace inside containers. |
| content/examples/macos.md | Frida macOS examples covering task_for_pid authorization, SIP configuration, and Objective-C method hooking with the ObjC runtime API. |
| content/examples/windows.md | Frida Windows example demonstrating how to intercept and dump AES encryption calls in jvm.dll by resolving addresses relative to the IDA-observed base and using hexdump for buffer inspection. |