# frida/frida

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/frida-frida).**

19,778 stars · 2,010 forks · Meson · other

## Links

- GitHub: https://github.com/frida/frida
- Homepage: https://frida.re
- awesome-repositories: https://awesome-repositories.com/repository/frida-frida.md

## Topics

`frida` `instrumentation` `vala`

## Description

Frida is a dynamic binary instrumentation toolkit that provides a framework for deep process introspection and live application state manipulation. It enables the injection of custom scripts into running processes to trace function calls, modify memory, and analyze application behavior in real-time across diverse operating systems and processor architectures.

The project distinguishes itself by embedding a high-performance JavaScript engine directly within the target process, allowing for the execution of user-defined logic for real-time inspection. It utilizes instruction-level hooking to redirect execution flow and handles cross-architecture code relocation to maintain stability during the injection process. Communication between the host controller and the injected agent is managed through low-latency shared memory buffers.

The platform supports a broad range of diagnostic and analytical tasks, including native function tracing, performance profiling, and the development of specialized instrumentation tools via language bindings. These capabilities facilitate complex workflows such as security vulnerability research, malware behavior observation, and cross-platform debugging of compiled software without requiring access to original source code.

## Tags

### System Administration & Monitoring

- [Dynamic Binary Instrumentation](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/dynamic-binary-instrumentation.md) — Provides a framework for injecting custom scripts into running processes to trace function calls and modify memory.
- [Execution Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/execution-tracing-analysis/execution-tracing.md) — Hooks into specific application functions to monitor execution flow, inspect arguments, and observe return values. ([source](https://frida.re/docs/home/))
- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Monitors native function execution and memory usage in real-time to identify performance bottlenecks.
- [Diagnostic Tooling Bindings](https://awesome-repositories.com/f/system-administration-monitoring/instrumentation-libraries/diagnostic-tooling-bindings.md) — Provides language bindings to build specialized diagnostic utilities that interact with target processes to extract runtime data. ([source](https://frida.re/docs/home/))

### Operating Systems & Systems Programming

- [Dynamic Introspection Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/dynamic-introspection-frameworks.md) — Provides a multi-platform utility for performing deep introspection and live manipulation of application processes.
- [Instruction Hooking](https://awesome-repositories.com/f/operating-systems-systems-programming/computer-architecture/instruction-execution-models/instruction-hooking.md) — Redirects execution flow by replacing function entry points with jump instructions to monitor arguments and return values.
- [Process Injection Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/process-lifecycle-orchestrators/process-injection-wrappers/process-injection-frameworks.md) — Enables the injection of custom scripts or native libraries into active processes to modify application behavior. ([source](https://frida.re/docs/home/))
- [Memory Inspection Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-inspection-tools.md) — Provides direct access to the memory space of running applications to inspect data or alter program logic. ([source](https://frida.re/docs/home/))
- [Process Injection Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/process-injection-frameworks.md) — Deploys lightweight shared libraries into target processes to act as bridges between host controllers and application memory.
- [Relocation Mechanisms](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-analysis-tools/cross-architecture-analysis-tools/relocation-mechanisms.md) — Provides mechanisms for dynamically adjusting memory addresses and registers to ensure stability during cross-architecture binary injection.

### Software Engineering & Architecture

- [Native Hooking Engines](https://awesome-repositories.com/f/software-engineering-architecture/code-execution-engines/native-hooking-engines.md) — Intercepts and monitors function execution within compiled binaries across multiple operating systems and architectures.
- [Shared Memory Management](https://awesome-repositories.com/f/software-engineering-architecture/shared-memory-management.md) — Exchanges data between host controllers and injected agents using low-latency shared memory buffers for efficient control.

### Development Tools & Productivity

- [Runtime Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/runtime-debugging.md) — Inspects and troubleshoots application logic across different operating systems by injecting scripts into active processes.
- [Runtime Diagnostics](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/runtime-diagnostics.md) — Inspects the internal state and logic of software while it is actively executing in production environments.

### Programming Languages & Runtimes

- [Scripting Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/scripting-runtimes.md) — Embeds a high-performance script interpreter within target processes to execute user-defined logic for real-time inspection.

### Security & Cryptography

- [Vulnerability Research](https://awesome-repositories.com/f/security-cryptography/security/offensive-operations/vulnerability-research-analysis/vulnerability-research.md) — Analyzes applications to identify vulnerabilities and reverse engineer protocols by inspecting memory and function calls.
- [Malware Analysis Workflows](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-analysis-tools/malware-analysis-workflows.md) — Safely observes suspicious program behavior by intercepting system calls and monitoring memory in isolated environments.
