Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Fermion — Fermion, an electron wrapper for Frida & Monaco. | Kitploit
Strumenti/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.

Vedi Repository
700831 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CI stars forks release frida-node frida-gum

Fermion

Fermion è un'applicazione Electron che avvolge frida-node e monaco-editor. Offre un ambiente completamente integrato per prototipare, testare e perfezionare script Frida attraverso un'unica interfaccia. Con l'integrazione di Monaco arrivano tutte le funzionalità che ti aspetteresti da Visual Studio Code: linting, IntelliSense, scorciatoie da tastiera, ecc. Inoltre, Fermion include una definizione del linguaggio TypeScript per l'API di Frida, così è facile scrivere script Frida.

Cosa si nasconde in un nome: un fermione può essere una particella elementare, come l'elettrone, oppure una particella composta, come il protone. I fermioni includono tutti i quark e i leptoni, così come tutte le particelle composite formate da un numero dispari di questi, come tutti i barioni e molti atomi e nuclei.

Come ottenere Fermion?

Eseguire Fermion dal sorgente

Scarica il repository e naviga fino alla cartella Fermion nel terminale. Una volta lì, imposta le seguenti variabili d'ambiente.

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

Successivamente, installa i pacchetti necessari per eseguire Fermion con:

root@kitploit:~
npm install

Una volta completato, puoi eseguire Fermion digitando:

root@kitploit:~
npm start

Compilare un pacchetto di release

Completa i passaggi precedenti e poi esegui il seguente comando dal terminale:

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

Release

Puoi ottenere l'ultima versione precompilata di Fermion per Windows e Linux x64 dalle releases.

Note FAQ

Windows

  • D: Devo iniettare in un processo a livello SYSTEM, come posso farlo?
    • R: Prima era possibile utilizzare strumenti come psexec per eseguire Fermion come SYSTEM, ma da Electron v8 questo causa il blocco di Fermion. Quello che ti serve davvero è che Fermion venga eseguito come Amministratore e abbia i privilegi SeDebugPrivilege. Come soluzione alternativa puoi avviare PowerShell come Amministratore e usarlo per lanciare Fermion.

Linux

  • D: Non riesco ad agganciarmi a un processo in esecuzione?
    • R: Le restrizioni di sistema potrebbero impedirti di agganciarti; normalmente vedrai un messaggio in Fermion che ti dice qual è il problema e come risolverlo. Tuttavia, in generale, puoi eseguire Fermion o il Frida Server come root oppure eseguire il seguente comando sudo sysctl kernel.yama.ptrace_scope=0.

Generale

  • D: Voglio creare la mia versione di Fermion basata su una nuova versione di Frida/Electron. Come posso scoprire quali prebuild esistono attualmente?

    • R: Dovresti dare un'occhiata qui; puoi controllare la versione di build predefinita rispettivamente in ELECTRON_TARGETS_DEFAULT e ELECTRON_TARGETS_FREEBSD.
  • D: Voglio rivedere/modificare/aggiornare le definizioni dei tipi usate nell'editor Monaco, come posso fare?

    • R: Questo ora viene gestito come parte del processo di build, quindi le definizioni del linguaggio dovrebbero essere sempre aggiornate. Se vuoi modificare manualmente le definizioni del linguaggio dell'app, puoi trovarle qui: node_modules/@types/frida-gum/index.d.ts.
  • D: Perché niente trace stabile, amico (╯°□°)╯︵ ┻━┻

    • R: Il tracing delle chiamate richiede molte risorse. Nella maggior parte dei casi funziona bene, ma se stai tracciando un hot pointer e/o la traccia sta generando grafi con migliaia di nodi, probabilmente la finestra di trace rallenterà mentre riceve i dati. Inoltre, come con qualsiasi tipo di tracing, può causare instabilità / crash / blocchi del processo.

Informazioni

Puoi vedere un esempio di Fermion all'opera qui sotto, in questo caso strumentando kernel32!ReadFile.

Fermion

Fermion ha completamento automatico, linting e supporto per i simboli dell'API Frida.

Help

Fermion può connettersi a un server Frida per eseguire il debug di applicazioni remote usando il menu contestuale device. In molti casi, come con il debug USB o quando ci si aggancia ad applicazioni mobili tramite emulatori come genymotion, Fermion rileverà automaticamente il server come disponibile. Tuttavia, è anche possibile specificare un server remoto usando una combinazione di IP e Porta.

Server

Fermion ha il supporto integrato per il CALL tracing dei thread.

Trace

Questo potrebbe non fare esattamente ciò che ti aspetti. Quando definisci una combinazione di pointer o module/Symbol, il tracer si aggancia a quella posizione e ogni volta che un thread esegue codice in quel punto, inizierà a tracciare tutte le istruzioni CALL che quel thread esegue finché non ritorna. Questo significa che esecuzioni diverse possono generare grafi diversi; significa anche che potresti non vedere tutto ciò che una funzione sta facendo (ad es. se, all'interno della funzione, viene avviato un thread diverso).

SVG

Fermion converte queste tracce in un formato Graphviz SVG usando dot, che puoi poi esplorare. Questa è una funzionalità che trovo utile di tanto in tanto quando svolgo lavoro esplorativo (Cosa fa una funzione? Quanto è complessa quell'esecuzione?). Detto questo, è una funzionalità prototipo che ho costruito sopra Fermion e probabilmente ha bisogno di ulteriori rifiniture per essere più pronta per la produzione.

Fermion ha anche documentazione integrata per la JavaScript API di Frida. Come tutti gli altri, non ricordo sempre come funziona tutto e avere i documenti nell'app elimina la necessità di tenere aperta una finestra del browser.

Docs

Note

Changelog

Per maggiori dettagli sulle modifiche specifiche delle versioni, consulta il changelog.

Invito all'azione

Se integri Fermion nel tuo flusso di lavoro e lo trovi utile, ti incoraggio a fare pull request, segnalare bug e richiedere funzionalità per migliorare l'applicazione. Non sono esattamente uno sviluppatore Node, quindi sono sicuro che le persone troveranno modi per ottimizzare e rielaborare alcuni dei componenti.

Roadmap

  • Implementare un'interfaccia di gestione dispositivi più completa.
  • Ridisegno dell'interfaccia utente.
  • Valutare l'interesse per più strumenti nativi costruiti sopra Fermion e aggiungerli.
  • Estendere il gestore dispositivi per sfruttare le nuove funzionalità integrate in Frida v15.0+.

Ringraziamenti speciali

Voglio solo fare alcuni ringraziamenti speciali!

  • Un enorme grazie a Ole André V. Ravnås per tutto il suo lavoro su Frida e per aver avuto molta pazienza nel rispondere alle mie domande da principiante su Frida, NodeJS e Monaco!
  • Un riconoscimento anche a mattahan. Sto usando un'icona Buuf per il pacchetto Windows di Fermion. Sono sicuro che nel corso degli anni abbiamo tutti usato alcune delle sue icone su NIX.
  • Grazie a @MiscMisty, @lez0sec, @berkayyildi per aver dedicato tempo/codice a Fermion!
Scarica lo strumento