The official Frida GUI

Dynamic instrumentation, now beautifully interactive.

Luma is a native app built on Frida. Persistent sessions, a live REPL, pluggable instruments, real-time collaboration — all wrapped in a workspace that remembers where you left off.

Other platforms & architectures · v1.1.0 release notes

Luma's REPL — evaluating JavaScript against a live process with type-aware autocompletion

Persistent

Every session is part of your .luma project. REPL history, instrument config, traces, and notes survive crashes and restarts — a banner lets you Re-Spawn or Re-Attach in one click.

Scriptable

A live JavaScript REPL inside the target process, with first-class values you can inspect, expand, and right-click to jump to memory or disassembly. Autocompletion backed by the runtime's own globals.

Extensible

Drop in a Hook Pack — a JSON manifest plus a JS module — to add your own instrument with custom icon and toggleable features. Built-in package manager and compiler means import just works.

Collaborative

Invite colleagues into a shared lab. Notebook entries, sessions, chat, and presence sync in real time. GitHub auth means no accounts to manage.

Sessions

Pick up exactly where you left off.

Create a session and Luma remembers it. If the process dies, crashes, or you simply close the lid and come back next week, the REPL history, hooks, captures, and notes are still there.

A banner appears at the top of the window offering a single click to Re-Spawn or Re-Attach, and the workspace rehydrates around you.

A detached session with a Re-Attach banner
Tracer — editing onEnter/onLeave handlers in the integrated code editor
Tracer — searching APIs with a glob pattern

Tracer

frida-trace, with the editor built in.

Glob-search for any exported function across all loaded modules. Add it as a hook, then edit the onEnter and onLeave handlers in an integrated Monaco editor with full @types/frida-gum support — no tabbing out to a separate handlers directory.

  • Hook by export name, module offset, or absolute address.
  • Drop down to instruction-level probes — right-click any address in the disassembly view and pick Add Instruction Hook… to run code at that exact instruction.
  • Toggle instruction tracing per hook — captures land in the sidebar as a CFG with register values, over disassembly powered by radare2.
  • Diff two captures to find exactly where execution diverges, and which registers changed along the way.

Captures

Step through every call, instruction by instruction.

Pick any tracer hook, flip Trace instructions, and every call lands in the sidebar as a capture. Open one and Luma replays the run as a control flow graph — with the full register state pinned to whichever instruction you're inspecting.

REPL

JavaScript values, first-class.

Every value you evaluate is rendered as an inspectable object. Expand, collapse, follow references. Right-click any NativePointer to jump straight to a hex dump or a live disassembly view — powered by radare2.

repl — Telegram.app (pid 4231)

Process.mainModule

Object(6) {name: "Telegram", version: "9.8", base: 0x102ca0000, ...}

Module.getGlobalExportByName('open')

0x194ea4a0

# right-click → Open Disassembly

Right-click on a NativePointer to open memory or disassembly

CodeShare

Browse the community, in‑app.

Search and import scripts from codeshare.frida.re without leaving the workspace. Preview the source before adding — no surprises.

CodeShare — browsing popular scripts with an in-app preview

Packages

npm, without the ceremony.

Add any npm package in a search and a click — same APIs behind frida-pm and frida-compile, now built in. Assign a global alias and reach for it from any handler.

Package manager — searching npm for Java bridge packages

Collaboration

Reverse engineer, together.

Invite friends or colleagues into a shared lab. Sessions, REPL transcripts, instruments, captures, notebook entries, and presence all sync in real time, while the chat lives right next to the work. GitHub auth means no accounts to manage.

Collaboration panel with participants, presence, chat, and a shared notebook

Downloads

Native everywhere.

Version 1.1.0 · release notes. Free and open source.

Ready to look inside?

Free and open source. Built by the Frida team.