Frida

Frida Documentation Index

Source: frida/frida-website Fetched: 2026-04-22 Files: 38

Table of Contents

FileSummary
content/_index.mdOverview 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.mdStep-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.mdStep-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.mdReference for Frida’s three injection/execution modes—Injected, Embedded (Gadget), and Preloaded—covering architecture, platform constraints, Gadget configuration, and interaction types.
content/javascript-api.mdComplete 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.mdFrida 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.mdPractical reference for Frida function instrumentation: hooking with Interceptor.attach(), modifying arguments, calling native functions via NativeFunction, injecting strings with Memory.allocUtf8String().
content/messages.mdReference 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.mdFrida 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.mdFrida 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.mdFrida 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.mdFrida 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.mdStep-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.mdComplete reference for using Frida on iOS devices, covering both jailbroken (Cydia-based frida-server) and non-jailbroken (Gadget injection) modes.
content/troubleshooting.mdFrida troubleshooting reference covering common attach/spawn errors on Linux, macOS, and Android with exact error messages, root causes, and fix commands.
content/frida-cli.mdfrida is the interactive REPL CLI for attaching to, spawning, and instrumenting processes using the Frida dynamic instrumentation toolkit.
content/frida-trace.mdComplete 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.mdHow 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.mdfrida-ps lists running processes or installed applications on a local or remote/USB-attached device, with optional JSON output.
content/frida-kill.mdfrida-kill terminates a process by name or PID on a local or remote/USB-attached device.
content/frida-ls-devices.mdfrida-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.mdfrida-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.mdFrida Gadget shared library configuration and interaction modes reference.
content/gum-graft.mdCLI 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.mdGuide to reducing Frida binary size on embedded and resource-constrained systems by selectively disabling optional features via config.mk.
content/building.mdComplete 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.mdGuide 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.mdGo language bindings for Frida that enable device/process enumeration, attachment, and instrumentation from Go applications.
content/swift-api.mdSwift language bindings for Frida, currently a minimal stub — refer to the C API or JavaScript API for equivalent documentation.
content/history.mdNarrative 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.mdIndex of Frida conference presentations (2015–2018) with titles, venues, and links to slides, recordings, and demo code.
content/gsoc-ideas-2015.mdEight 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.mdGoogle Season of Docs 2023 proposal for restructuring Frida’s documentation, covering project scope, target audiences, deliverables, success metrics, timeline, and budget.
content/contributing.mdFrida project contribution channels and ways to get involved, including bug reporting, documentation, and code contributions.
content/examples/javascript.mdFrida JavaScript examples demonstrating V8 VM injection into Node.js processes and Perl 5 function call tracing via libuv and NativeFunction bindings.
content/examples/android.mdFrida Android examples covering Java bridge usage, CTF APK hooking, instance creation, overloaded constructor/method interception, and stack trace capture.
content/examples/ios.mdFrida iOS examples covering Objective-C method hooking, Swift interop, ObjC class/method enumeration, and runtime introspection patterns.
content/examples/linux.mdFrida Linux examples covering Docker container setup requirements and seccomp configuration needed to run Frida and frida-trace inside containers.
content/examples/macos.mdFrida macOS examples covering task_for_pid authorization, SIP configuration, and Objective-C method hooking with the ObjC runtime API.
content/examples/windows.mdFrida 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.