Frida Overview
📌What is Frida?
Frida is a dynamic instrumentation toolkit that allows you to inspect, manipulate, and monitor apps and programs in real time. Think of it as a tool that opens a window into the internal workings of an application while it's running.
📍Key Features
Intercepting Functions: Frida finds specific functions in a program and lets you catch them in action. You can change what these functions do or watch what happens when they run.
Watching and Changing Things: You can see what’s going on in the program as it happens. You can check the values of things being used in the program, see how the program moves along, and even change things while the program is running.
Fixing and Understanding Programs: This is great for finding problems, understanding how a program is built, and checking for security issues. People who make software use Frida to find and fix problems, and security experts use it to find and fix security holes.
Analyzing Without the Original Code: Frida works well even if you don’t have the original code for the software. This is very helpful when you want to check apps that don’t share their code.
📍Frida Architecture

You run Frida-Server on a rooted device.
Frida attaches to the target app and can interact with its JavaScript engine (e.g., V8 in Chrome/WebView).
The client (on your PC) sends JavaScript code to Frida-Server for execution.
The client can be implemented in Python or other languages.
📍Setting Up Frida for Android Apps
Install Frida tools on your computer using pip:
pip install frida-tools
Download the Frida server for your device from this website:
Frida Releases, Choose the server that fits your device’s type.
You can use the following ADB command to get the architecture of the emulator
adb shell getprop ro.product.cpu.abi
We are using the emulator x86 so we will download the x86 server.
After downloading, extract it and move the server file to a place on your device where you can write data, like
/data/local/tmp
. Here’s how you move the file:adb push frida-server-16.6.7-android-x86 /data/local/tmp
Then go into the device’s shell and into the tmp directory:
adb root adb shell cd /data/local/tmp ls
Now, make the Frida server file runnable:
./frida-server-16.6.7-android-x86
📍Interaction with FRIDA
To get started with FRIDA, we can use the CLI or write a whole script that can be launched via the “
-l
” parameter.List all running apps on your device:
frida-ps -Uai
Find a specific app by filtering its package name:
frida-ps -Uai | grep 'name_of_app'
Attach to an app for live interaction:
frida -U app_name frida -U -f com.app.package
After hooking into an app, Frida opens an interactive terminal (REPL) to run JavaScript commands for real-time app interaction and manipulation.

To load scripts with Frida, we can start Frida with the
-l
option:frida -U -l test.js FridaTarget
We can enable and disable auto-reload by doing:
%autoreload on/of
To manually reload all scripts, we can just run
%reload
Frida REPL is an interactive console where you can execute JavaScript commands live inside the app.
Last updated