Skip to main content

Frida Fusion

Frida Fusion logo

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 use try 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)

Source distribution for frida-fusion 0.1.27
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page