Skip to main content

Frida UI

PyPI version Python PyPI - Downloads License

A modern, lightweight, web-based user interface for Frida, designed for Android application penetration testing. It allows you to interact with devices, processes, and scripts directly from your browser.

Quick Start

# Install using uv (recommended) or pipx/pip
uv tool install frida-ui
# Or: pipx install frida-ui
# Or: pip install frida-ui

# Start the server
frida-ui

Open your browser and navigate to: http://localhost:8000

Features

📱 Device Management

  • Auto-discovery: Automatically detects connected USB and local devices.
  • Remote Devices: Easily add and manage remote Frida servers (e.g., 192.168.1.x:27042).
  • Device Info: View detailed system parameters (OS, Arch, API Level) and visual type indicators for selected devices.

🚀 Process & App Control

  • Application List: View installed applications and running processes.
  • Search: Real-time filtering of applications by name or identifier.
  • Session Management:
    • Attach: Connect to running processes.
    • Spawn: Launch installed applications.
    • Spawn & Run: Launch an app and immediately inject the editor script along with any queued CodeShare scripts (early instrumentation).
    • Kill/Detach: Terminate processes or gracefully disconnect.

💻 Scripting & Instrumentation

  • Script Editor: Built-in editor for writing Frida scripts. Includes an optional Monaco editor for richer editing (syntax highlighting and automatic layout) with a graceful fallback to a plain textarea.
  • File Loading: Load scripts from local files or drag-and-drop .js files into the editor.
  • Download script: Export the current editor content as a .js file (frida-ui_<app id>_<timestamp>.js) directly from the editor header.
  • CodeShare Integration:
    • Import scripts directly from Frida CodeShare.
    • CodeShare Queue: Queue multiple CodeShare scripts to be loaded and executed automatically during Spawn & Run or manually via the "Run CodeShare Scripts" button.

📊 Console & Logging

  • Real-time Output: View console.log, send(), and error messages from your scripts.
  • Log History: Persistent logs per application session.
  • Export: Download console logs as .txt files for analysis.

🎨 UI/UX

  • Dark Theme: Clean, consistent dark mode interface.
  • Persistence: Remembers your selected device, application, and pane sizes across sessions.
  • Responsive: Adjustable panes for sidebar, editor, and console.
  • Focus Modes: Toggle Editor-only or Console-only views to hide other panes for a distraction-free workflow.
  • Accessibility: Keyboard shortcuts (e.g., Escape to reset view or close overlays) and ARIA support.

Getting Started

Prerequisites

  • Python 3.7+
  • uv (recommended) / pipx / pip.

Installation

uv tool install frida-ui

You can also customize the Frida version:

uv tool install frida-ui --with frida==16.7.19

Option 2: Install from Source (Bleeding Edge)

uv tool install git+https://github.com/adityatelange/frida-ui

You can customize the Frida version:

uv tool install git+https://github.com/adityatelange/frida-ui --with frida==16.7.19

Running

Start the server using the default configuration:

frida-ui

Or with custom options:

frida-ui --host 127.0.0.1 --port 8000 --reload
  • --host: Specify the host (default: 127.0.0.1)
  • --port: Specify the port (default: 8000)
  • --reload: Enable auto-reload for development

Open http://localhost:8000 in your browser.

Android Device Setup

Before using frida-ui, you must have frida-server running on your Android device. The version of frida-server must match the Frida version you installed in the previous step.

Option 1: USB Connection

If you have ADB installed and want to connect via USB:

  1. Download frida-server: Visit Frida releases and download the frida-server binary for Android matching your device's architecture/abi (e.g., frida-server-x.x.x-android-arm64.xz).

  2. Extract and Push to Device:

    unxz frida-server-x.x.x-android-arm64.xz
    mv frida-server-x.x.x-android-arm64 frida-server
    adb push frida-server /data/local/tmp/
    
  3. Run frida-server:

    adb shell "chmod 755 /data/local/tmp/frida-server"
    adb shell "/data/local/tmp/frida-server -D"
    
  4. Verify Connection: Ensure your device is connected via USB and visible via adb devices. frida-ui will automatically detect it when running.

Option 2: Remote Connection (Network)

Alternatively, you can run frida-server with a network listener and connect remotely:

  1. Download and run frida-server on your Android device (using any method - ADB, custom script, etc.):

    ./frida-server -l 0.0.0.0:27042 -D
    
  2. Add Remote Device in frida-ui: In the frida-ui interface, add a remote device with the IP address and port where frida-server is listening (e.g., 192.168.1.x:27042).

    No ADB installation is required for this method.

Usage Guide

  1. Select a Device: Choose a device from the dropdown in the top header.
  2. Select an App: Click on an application in the sidebar.
  3. Write/Load Script:
    • Type JS in the editor.
    • Or drag & drop a file.
    • Or add scripts URL from CodeShare.
  4. Action:
    • Click Attach to inject into a running process.
    • Click Spawn to start the app.
    • Click Spawn & Run to start the app with your script injected immediately.
  5. Monitor: Watch the console for output.

💡 Example Script

Try this simple script to hook a method (replace with your target):

// Simple method hook example
Java.perform(() => {
  const MainActivity = Java.use("com.example.app.MainActivity");
  MainActivity.checkPassword.implementation = function (password) {
    console.log("[*] checkPassword called with: " + password);
    return true; // Bypass check
  };
});

Notes

Credits

Stargazers over time

Stargazers over time

Metadata

Release files for frida-ui 1.1.0

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-ui 1.1.0
File Size Uploaded Provenance Actions
frida_ui-1.1.0.tar.gz 33.0 kB Without provenance Details for frida_ui-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for frida-ui 1.1.0
File Interpreter ABI Platform Actions
frida_ui-1.1.0-py3-none-any.whl Python 3 none any Details for frida_ui-1.1.0-py3-none-any.whl

Total release size: 64.4 kB

Release files / frida_ui-1.1.0.tar.gz

Download URL frida_ui-1.1.0.tar.gz
Size 33.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bc923238cf582d8301f5111341690d2b3bfffab78bfc10d46bc2df6a872a78be
BLAKE2b-256 checksum
How to use checksums
661b3fd779489be44d2a44a3084773d15e7d89884cbe69a04360b5c74835a7de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.22

Release files / frida_ui-1.1.0-py3-none-any.whl

Download URL frida_ui-1.1.0-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b84fa61babec298e7c0fb8b6acdfa8487d3f358c1d49ffa3d062cfcded5168f
BLAKE2b-256 checksum
How to use checksums
025915a73f42619f3d043d0108403f62342ab92654d2968a0b8d025efc5e66ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.22

Security for frida-ui 1.1.0

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.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

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