The current script manages the setup of the virtual environment needed to use Frida 17.x.x (described in Frida documentation), by performing the following steps:
- Write the script
- Run
frida-create -t agent - Install
frida-java-bridge - Write the code to compile the script, modifying content of Frida 16.x.x scripts, and load it in the process
- Create the virtual environment
python -m venv .venv-
Activate the virtual environment with respect to your Operating System guidelines.
-
Install dependencies
pip install -r requirements.txt- Create the frida agent and setup the
frida-java-bridge:
python frida_17_manager.py setup- Run a Javascript frida script on an Android running application (
<package_name>specified in command line):
python frida_17_manager.py run -l /path/to/frida_script.js -p <package_name>- Run a Javascript frida script on an Android running application (by selecting it at runtime):
python frida_17_manager.py run -l /path/to/frida_script.js- Spawn an Android application and run a Javascript frida script (
<package_name>specified in command line):
python frida_17_manager.py run --spawn -l /path/to/frida_script.js -p <package_name>In this last case, if the <package_name> is not specified, the application will ask again it to the user.
The JS Frida scripts must be in the old format, in particular:
- JS extension
- no import of the frida-java-bridge
The python script will then update the JS script included by adding the following lines to a temporary TS copy of the file:
//Ignore TypeScript strict errors for now
//@ts-nocheck
import Java from 'frida-java-bridge';