# 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.

- Type: Tool
- Targets: App · Binary
- Category: Debugging and dynamic analysis
- Relationship: Foundation tool
- Sources reviewed: 2026-10-27
- Added to the catalog: 2026-11-03
- Original resource: <https://github.com/FuzzySecurity/Fermion>
- Primary source: <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/README.md>
- Catalog page: <https://awesomerea.org/resources/fermion/>
- Record JSON: <https://awesomerea.org/resources/fermion/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/fermion/index.md)

## 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).
- 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.

## Primary sources

1. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/README.md>
2. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/CHANGELOG.txt>
3. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Fermion/package.json>
4. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/.github/workflows/auto-update.yml>
5. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/.github/workflows/populate_variables.py>
6. <https://github.com/FuzzySecurity/Fermion/tree/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Examples>
7. <https://github.com/FuzzySecurity/Fermion/tree/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Fermion/pages>
8. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/LICENSE>
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

- [Ghidrathon](https://awesomerea.org/resources/ghidrathon/index.md) · Tool
- [diStorm3](https://awesomerea.org/resources/distorm/index.md) · Tool
- [ProbeDroid](https://awesomerea.org/resources/probedroid/index.md) · Tool
- [Fridump](https://awesomerea.org/resources/fridump/index.md) · Tool
- [Redress](https://awesomerea.org/resources/redress/index.md) · Tool
- [ghidra-nanomips](https://awesomerea.org/resources/ghidra-nanomips/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
