Tool

Fermion

Ruben Boonen's Electron desktop application that wraps frida-node and the Monaco editor into one window for writing, injecting and refining Frida scripts. The editor brings linting, IntelliSense and Frida API type definitions, a device menu reaches local, USB and remote Frida servers to attach to or spawn processes, scripts reload in the target with a keyboard shortcut and their output appears beside the code. A prototype CALL tracer follows every call a thread makes from a chosen pointer or module symbol until it returns and renders the result as a Graphviz SVG graph, and Frida's JavaScript API documentation is built in.

Targets
App · Binary
Category
Debugging and dynamic analysis
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • Latest release at review: v1.9.3, published 2023-04-20 by the repository's CI with zipped Windows, Linux and macOS builds, pinning Electron 21.0.0, Frida 16.0.17 and frida-gum types 18.3.1. Every later commit, up to the reviewed master commit of 2025-03-20, is an automated keepalive commit, and the release workflow builds only when the package version changes, so the app has not followed the Frida 17 series (17.24.3 at review); compatibility with current Frida servers was not checked.
  • Running from source needs Node.js and npm: in the Fermion folder, set npm_config_runtime=electron and npm_config_target=21.0.0, then run npm install and npm start; release packages are built with electron-packager, and the CI uses Node 16. Remote and mobile targets need a reachable Frida server, which the README says is often detected automatically over USB or in emulators such as Genymotion, or can be given as an IP address and port.
  • On Windows, attaching to SYSTEM processes needs Fermion running as Administrator with SeDebugPrivilege, because the README says running it as SYSTEM has frozen it since Electron 8; on Linux, attaching may need root or a relaxed kernel.yama.ptrace_scope. The README calls the tracer a prototype whose window can lag on large graphs and which can make the traced process unstable.
  • The repository commits 22 example Frida scripts, most of them hooks on Windows APIs, a Graphviz library compiled to WebAssembly (Fermion/pages/graphvizlib.wasm) for rendering traces, and bundled jQuery, Semantic UI (with Lato fonts), Split.js and Tailwind CSS assets. Users supply their own devices, processes and apps.
  • BSD-3-Clause (Copyright 2019 Ruben Boonen); bundled frameworks and fonts keep their own licenses. No device or process was instrumented for this entry, and the reviewed sources establish no REA connection.

About this entry

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · FuzzySecurity/Fermion · Revision 79b2643
  2. CHANGELOG.txt GitHub · FuzzySecurity/Fermion · Revision 79b2643
  3. Fermion/package.json GitHub · FuzzySecurity/Fermion · Revision 79b2643
  4. .github/workflows/auto-update.yml GitHub · FuzzySecurity/Fermion · Revision 79b2643
  5. .github/workflows/populate_variables.py GitHub · FuzzySecurity/Fermion · Revision 79b2643
  6. Examples GitHub · FuzzySecurity/Fermion · Revision 79b2643
  7. Fermion/pages GitHub · FuzzySecurity/Fermion · Revision 79b2643
  8. LICENSE GitHub · FuzzySecurity/Fermion · Revision 79b2643
  9. https://github.com/FuzzySecurity/Fermion/releases/tag/v1.9.3
  10. https://github.com/frida/frida/releases/tag/17.24.3

More in Native binaries

All 158 entries in Native binaries