A dynamic instrumentation toolkit for injecting JavaScript into native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX.
Frida is a dynamic instrumentation toolkit that allows injecting JavaScript into native applications across various operating systems like Windows, macOS, Linux, iOS, and Android. It enables developers, reverse-engineers, and security researchers to analyze, debug, and manipulate software at runtime without needing source code access. The toolkit provides scriptable hooks and comprehensive CLI tools for real-time interaction with running processes.
Security researchers, reverse-engineers, and developers who need to perform runtime analysis, debugging, or instrumentation on native applications across multiple platforms.
Frida stands out for its cross-platform support, ease of use with JavaScript injection, and extensive language bindings (Python and Node.js), making advanced dynamic instrumentation accessible without deep low-level expertise.
Clone this repo to build Frida
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Windows, macOS, Linux, iOS, Android, and QNX, as highlighted in the key features and installation instructions for various OSes.
Allows injecting JavaScript to hook and modify native functions at runtime, enabling easy instrumentation without deep low-level knowledge.
Provides Python and Node.js bindings, with simple installation via pip and npm, facilitating integration into existing workflows.
Includes utilities like frida-trace and frida-ps for process management, requiring additional packages like colorama for full functionality.
Building on Apple OSes requires trusted code-signing certificates and environment variable configuration, as detailed in the README's build instructions.
Dynamic instrumentation adds runtime overhead, which can affect application performance and may not be suitable for real-time systems.
Frida does not support static analysis, so it's not ideal for tasks that require inspecting code without execution.