An instrumentation tool for x86, Android..., that targets binary applications.
- To debug live processes.
- To execute your script inside another process.
- Frida is used for dynamic reverse engineering (i.e. analyze a program while software is running).
- Static reverse engineering software in contrast take binaries to dissect them.
- Attach to a process.
- Hooking functions.
- Modifying function arguments.
- Calling functions.
- Inspecting memory.
- Modifying memory.
Live inspection of other processes (No source code and no debuggin symbols).
On Linux, Frida uses sys calls such as ptrace so that one process can observe and control another one (& examine/change in its memory and registers).
- Injected into binary application & exectuted at runtime.
- Frida executes user-defined js programs inside another process.
- Frida has also bindings for Python, C, node.js...