Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Fermion — Fermion, an electron wrapper for Frida & Monaco. | Kitploit
Tools/GitHubGitHub/fuzzysecurity/fermion
Android SecurityDynamic Analysis (Sandboxing)Dynamic Code Analysis (DAST)Mobile App PentestingReverse EngineeringDebuggersBinary Analysis
GitHubfuzzysecurity/fermion

Fermion

Fermion, an electron wrapper for Frida & Monaco.

Repository anzeigen
70083vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CI stars forks release frida-node frida-gum

Fermion

Fermion ist eine Electron-Anwendung, die frida-node und monaco-editor umschließt. Sie bietet eine vollständig integrierte Umgebung zum Prototypisieren, Testen und Verfeinern von Frida-Skripten über eine einzige Benutzeroberfläche. Mit der Integration von Monaco kommen alle Funktionen, die man von Visual Studio Code erwarten würde: Linting, IntelliSense, Tastenkombinationen usw. Darüber hinaus enthält Fermion eine TypeScript-Sprachdefinition für die Frida-API, sodass sich Frida-Skripte leicht schreiben lassen.

Was es mit dem Namen auf sich hat: Ein Fermion kann ein Elementarteilchen wie das Elektron oder ein zusammengesetztes Teilchen wie das Proton sein. Zu den Fermionen gehören alle Quarks und Leptonen sowie alle zusammengesetzten Teilchen, die aus einer ungeraden Anzahl dieser bestehen, wie etwa alle Baryonen und viele Atome und Kerne.

Wie erhalte ich Fermion?

Fermion aus dem Quellcode ausführen

Laden Sie das Repository herunter und navigieren Sie im Terminal zum Ordner Fermion. Setzen Sie dort die folgenden Umgebungsvariablen.

root@kitploit:~
# Windows
set npm_config_runtime=electron
set npm_config_target=21.0.0

# Linux / OSX
export npm_config_runtime=electron
export npm_config_target=21.0.0

Installieren Sie danach die Pakete, die zum Ausführen von Fermion erforderlich sind, mit:

root@kitploit:~
npm install

Sobald dies abgeschlossen ist, können Sie Fermion ausführen, indem Sie Folgendes eingeben:

root@kitploit:~
npm start

Ein Release-Paket kompilieren

Führen Sie die obigen Schritte aus und geben Sie anschließend den folgenden Befehl im Terminal ein:

root@kitploit:~
# Windows
electron-packager . --icon .\src\images\fermion-ico.ico

# Linux
electron-packager . --icon ./src/images/fermion-ico.png

# OSX
electron-packager . --icon ./src/images/fermion-ico.icns

Releases

Sie können die neueste vorkompilierte Fermion-Version für x64 Windows und Linux unter releases erhalten.

FAQ-Hinweise

Windows

  • F: Ich muss einen Prozess auf SYSTEM-Ebene injizieren. Wie kann ich das tun?
    • A: Früher konnte man Tools wie psexec verwenden, um Fermion als SYSTEM auszuführen, aber seit Electron v8 führt dies dazu, dass Fermion einfriert. Was Sie wirklich benötigen, ist, dass Fermion als Administrator ausgeführt wird und über SeDebugPrivilege-Berechtigungen verfügt. Als Workaround können Sie PowerShell als Administrator starten und damit Fermion ausführen.

Linux

  • F: Ich kann mich nicht an einen laufenden Prozess anhängen?
    • A: Systemeinschränkungen können Sie daran hindern, sich anzuhängen. Normalerweise sehen Sie eine Meldung in Fermion, die Ihnen sagt, was das Problem ist und wie Sie es lösen können. Im Allgemeinen können Sie Fermion oder den Frida Server jedoch als root ausführen oder alternativ den folgenden Befehl ausführen: sudo sysctl kernel.yama.ptrace_scope=0.

Allgemein

  • F: Ich möchte meine eigene Version von Fermion gegen eine neue Version von Frida/Electron bauen. Wie kann ich herausfinden, welche prebuild’s derzeit existieren?

    • A: Sie sollten einen Blick hier werfen. Sie können die Standard-Build-Version in ELECTRON_TARGETS_DEFAULT bzw. ELECTRON_TARGETS_FREEBSD überprüfen.
  • F: Ich möchte die im Monaco-Editor verwendeten Typdefinitionen überprüfen/ändern/aktualisieren. Wie kann ich das tun?

    • A: Dies wird nun als Teil des Build-Prozesses gehandhabt, sodass Ihre Sprachdefinitionen immer auf dem neuesten Stand sein sollten. Wenn Sie die Sprachdefinitionen der App manuell bearbeiten möchten, finden Sie diese hier: node_modules/@types/frida-gum/index.d.ts.
  • F: Warum ist trace nicht stabil, Mann (╯°□°)╯︵ ┻━┻

    • A: Call-Tracing ist ressourcenintensiv. In den meisten Fällen funktioniert es einwandfrei, aber wenn Sie einen hot pointer verfolgen und/oder der Trace Graphen mit Tausenden von Knoten erzeugt, werden Sie wahrscheinlich feststellen, dass das trace window hinterherhinkt, während es Daten empfängt. Außerdem kann es, wie bei jeder Art von Tracing, zu Prozessinstabilität / Abstürzen / Einfrieren führen.

Über

Sie sehen unten ein Beispiel für Fermion in Aktion, in diesem Fall bei der Instrumentierung von kernel32!ReadFile.

Fermion

Fermion verfügt über Auto-Vervollständigung, Linting und Frida-API-Symbolunterstützung.

Help

Fermion kann sich über das device-Kontextmenü mit einem Frida-Server verbinden, um Remote-Anwendungen zu debuggen. In vielen Fällen, etwa beim USB-Debugging oder beim Anhängen an mobile Anwendungen über Emulatoren wie genymotion, erkennt Fermion den Server automatisch als verfügbar. Es ist jedoch auch möglich, einen Remote-Server über eine Kombination aus IP und Port anzugeben.

Server

Fermion hat integrierte Unterstützung für Thread-CALL-Tracing.

Trace

Dies tut möglicherweise nicht genau das, was Sie erwarten. Wenn Sie entweder eine pointer- oder module/Symbol-Kombination definieren, attachet sich der Tracer an diese Stelle, und jedes Mal, wenn ein thread an dieser Stelle ausgeführt wird, beginnt er, alle CALL-Anweisungen zu verfolgen, die dieser Thread ausführt, bis er zurückkehrt. Das bedeutet, dass verschiedene Ausführungen unterschiedliche Graphen erzeugen können. Es bedeutet auch, dass Sie möglicherweise nicht alles sehen, was eine Funktion tut (z. B. wenn innerhalb der Funktion ein anderer Thread erzeugt wird).

SVG

Fermion konvertiert diese Traces mit dot in ein Graphviz SVG-Format, das Sie dann erkunden können. Dies ist eine Funktion, die ich gelegentlich bei explorativen Arbeiten nützlich finde (Was macht eine Funktion? Wie komplex ist diese Ausführung?). Abgesehen davon ist dies eine Prototyp-Funktion, die ich auf Fermion aufgebaut habe und die wahrscheinlich noch etwas mehr Liebe benötigt, um produktionsreifer zu sein.

Fermion verfügt außerdem über eine integrierte Dokumentation für die JavaScript API von Frida. Wie jeder andere erinnere ich mich auch nicht immer daran, wie alles funktioniert, und die Dokumentation in der App macht es überflüssig, ein Browserfenster offen zu haben.

Docs

Hinweise

Änderungsprotokoll

Weitere Details zu versionsspezifischen Änderungen finden Sie im changelog.

Aufruf zum Mitmachen

Wenn Sie Fermion in Ihren Workflow integrieren und nützlich finden, ermutige ich Sie, Pull Requests zu erstellen, Fehlerberichte einzureichen und Funktionen zu fordern, um die Anwendung zu verbessern. Ich bin nicht gerade ein Node-Entwickler, daher bin ich sicher, dass Leute Wege finden werden, einige der Komponenten zu optimieren und zu überarbeiten.

Roadmap

  • Eine vollständigere Geräteverwaltungsoberfläche implementieren.
  • UI-Neugestaltung.
  • Das Interesse an weiteren nativen Tools auf Basis von Fermion abschätzen und diese hinzufügen.
  • Den Gerätemanager erweitern, um die neuen Funktionen zu nutzen, die in Frida v15.0+ integriert sind.

Besonderer Dank

Ich möchte mich bei einigen Leuten besonders bedanken!

  • Ein riesiges Dankeschön an Ole André V. Ravnås für seine ganze Arbeit an Frida und seine große Geduld bei der Beantwortung meiner laienhaften Fragen zu Frida, NodeJS und Monaco!
  • Ein Dank auch an mattahan. Ich verwende ein Buuf-Symbol für das Windows-Paket von Fermion. Ich bin sicher, wir haben im Laufe der Jahre alle einige seiner Symbole auf NIX verwendet.
  • Danke an @MiscMisty, @lez0sec, @berkayyildi für ihre investierte Zeit/Code in Fermion!
Tool herunterladen