Frida Fusion
Hook your mobile tests with Frida.
[ FRIDA ]—o—( FUSION )—o—[ MOBILE TESTS ] // v0.1.0
> hook your mobile tests with Frida
optional arguments:
-h, --help show this help message and exit
Device selector:
-D [ID], --device [ID] Connect to device with the given ID
-U, --usb Connect to USB device
-R, --remote Connect to remote frida-server
-H [HOST], --host [HOST] Connect to remote frida-server on HOS
Application selector:
-f [APP ID], --package [APP ID] Spawn application ID
-p [PID], --attach-pid [PID] Spawn application ID
General Setting:
-s [path], --script-path [path] JS File path or directory with Frida script
--delay-injection Delay script injection
--show-time Display time
-o [output file] Save output to disk (default: none)
-l [level], --min-level [level] Minimum log level to be displayed (V,D,I,W,E,F) (default: I)
Modules:
--list-modules List available modules
-m ENABLED_MODULES, --module ENABLED_MODULES Enabled module by name. You can specify multiple values repeating the flag.
Install
Via PIPX
We recommend install using PIPX
sudo apt install pipx
pipx install frida-fusion
pipx inject frida-fusion frida==15.1.17 frida-tools==10.8.0
Note: If you face the error
unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to usetry to adjust the frida version
Regular instalation
pip3 install frida-fusion
Custom Frida script
You must provide a custom Frida script as usual. To do this you must provide -s/--script-path parameter.
# Just one file
frida-fusion -f [app_id] -U --script-path mytest.js
# A entire directory
frida-fusion -f [app_id] -U --script-path /tmp/scripts
Exposed JavaScript (frida) functions
The Frida Fusion define/expose several functions to be used at frida scripts. Follows the typedef of these functions.
# Send message/data to Frida-Fusion
void fusion_sendMessage(String level, String message);
void fusion_sendError(Error error);
void fusion_sendMessageWithTrace(String level, String message);
void fusion_sendKeyValueData(String module, Object items);
# Print StackTrace
void fusion_printStackTrace();
# Print all methods of class 'name'
void fusion_printMethods(String name);
# Get value of a field inside an class instance
Object fusion_getFieldValue(Object obj, String fieldName);
# Wait until the class 'name' exists in memory to execute the callback function
void fusion_waitForClass(String name, CallbackFunction onReady)
# Conversions
String fusion_stringToBase64(String message);
String fusion_bytesToBase64(byte[] byteArray);
String fusion_encodeHex(byte[] byteArray);
Module engine
You can check available modules with frida-fusion --list-modules command.
frida-fusion --list-modules
[ FRIDA ]—o—( FUSION )—o—[ MOBILE TESTS ] // v0.1.4
> hook your mobile tests with Frida
Available modules
Module Name : Description
Crypto : Hook cryptography/hashing functions
External modules
You can develop or download community modules and load into frida-fusion.
To pass to the Frida Fusion the external module path you can use the environment variable FUSION_MODULES with the full path of modules
At linux:
export FUSION_MODULES=/tmp/modules
# List all modules
frida-fusion --list-modules
# Using available module
frida-fusion -f [app_id] -U --script-path mytest.js -m [module_name]
At windows:
$env:FUSION_MODULES = "C:\extra_mods"
# List all modules
frida-fusion --list-modules
# Using available module
frida-fusion -f [app_id] -U --script-path mytest.js -m [module_name]
Community modules
You can also use one of community developed modules
cd /opt/
git clone https://github.com/helviojunior/frida-fusion-community-modules
export FUSION_MODULES=/opt/frida-fusion-community-modules
# List all modules
frida-fusion --list-modules
Metadata
Release files for frida-fusion 0.1.27
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| frida_fusion-0.1.27.tar.gz | 74.6 kB | Without provenance | Details |
Release files / frida_fusion-0.1.27.tar.gz
| Download URL | frida_fusion-0.1.27.tar.gz |
|---|---|
| Size | 74.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
809be32a45db089b339e273f2f4d4929552ae0b5bc760f75bec326946538edec
|
|
BLAKE2b-256 checksum How to use checksums |
8599051c09cdddcbe24d4f19ece459b544b8f2382230177ab3de22c581ab16db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for frida-fusion 0.1.27
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.