Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Fermion — Fermion, un wrapper électron pour Frida & Monaco. | Kitploit
Outils/GitHubGitHub/fuzzysecurity/fermion
Sécurité AndroidAnalyse Dynamique (Sandboxing)Analyse Dynamique de Code (DAST)Pentesting d'Applications MobilesRétro-ingénierieDébogueursAnalyse de Binaires
GitHubfuzzysecurity/fermion

Fermion

Fermion, un wrapper électron pour Frida & Monaco.

Voir le dépôt
700839il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CI stars forks release frida-node frida-gum

Fermion

Fermion est une application electron qui enveloppe frida-node et monaco-editor. Elle offre un environnement entièrement intégré pour prototyper, tester et affiner des scripts Frida à travers une interface unique. Avec l'intégration de Monaco viennent toutes les fonctionnalités attendues de Visual Studio Code : linting, IntelliSense, raccourcis clavier, etc. De plus, Fermion dispose d'une définition de langage TypeScript pour l'API Frida, ce qui facilite l'écriture de scripts Frida.

What's in a name : Un fermion peut être une particule élémentaire, comme l'électron, ou une particule composite, comme le proton. Les fermions incluent tous les quarks et leptons, ainsi que toutes les particules composites constituées d'un nombre impair de ces derniers, comme tous les baryons et de nombreux atomes et noyaux.

Comment obtenir Fermion ?

Exécuter Fermion depuis les sources

Téléchargez le dépôt et placez-vous dans le dossier Fermion dans le terminal. Une fois sur place, définissez les variables d'environnement suivantes.

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

Ensuite, installez les paquets nécessaires à l'exécution de Fermion avec :

root@kitploit:~
npm install

Une fois terminé, vous pouvez exécuter Fermion en lançant :

root@kitploit:~
npm start

Compiler un paquet de release

Effectuez les étapes ci-dessus puis exécutez la commande suivante dans le terminal :

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

Vous pouvez obtenir la dernière version précompilée de Fermion pour Windows et Linux x64 depuis les releases.

Notes FAQ

Windows

  • Q : J'ai besoin d'injecter un processus de niveau SYSTEM, comment puis-je faire cela ?
    • A : Vous pouviez auparavant utiliser des outils comme psexec pour exécuter Fermion en tant que SYSTEM, mais depuis Electron v8 cela fait geler Fermion. Ce dont vous avez réellement besoin, c'est que Fermion s'exécute en tant qu'Administrateur et dispose du privilège SeDebugPrivilege. Comme solution de contournement, vous pouvez lancer PowerShell en tant qu'Administrateur et l'utiliser pour lancer Fermion.

Linux

  • Q : Je n'arrive pas à m'attacher à un processus en cours d'exécution ?
    • A : Des restrictions système peuvent vous empêcher de vous attacher ; normalement, vous verrez un message dans Fermion vous indiquant le problème et la manière de le résoudre. Cependant, en général, vous pouvez exécuter Fermion ou le Frida Server en tant que root, ou bien exécuter la commande suivante : sudo sysctl kernel.yama.ptrace_scope=0.

Général

  • Q : Je veux construire ma propre version de Fermion avec une nouvelle version de Frida/Electron. Comment puis-je savoir quels prebuild existent actuellement ?

    • A : Vous devriez jeter un œil ici ; vous pouvez vérifier la version de build par défaut dans ELECTRON_TARGETS_DEFAULT et ELECTRON_TARGETS_FREEBSD respectivement.
  • Q : Je veux examiner/modifier/mettre à jour les définitions de types utilisées dans l'éditeur Monaco, comment puis-je faire ?

    • A : Cela est désormais géré dans le processus de build, vos définitions de langage devraient donc toujours être à jour. Si vous souhaitez modifier manuellement les définitions de langage de l'application, vous pouvez les trouver ici : node_modules/@types/frida-gum/index.d.ts.
  • Q : Pourquoi tu ne fais pas de trace stable, mec (╯°□°)╯︵ ┻━┻

    • A : Le tracing d'appels est gourmand en ressources. Dans la plupart des cas, cela fonctionne correctement, mais si vous tracez un hot pointer et/ou si la trace génère des graphes avec des milliers de nœuds, il est probable que la trace window lag pendant la réception des données. De plus, comme avec tout type de tracing, cela peut provoquer une instabilité / un crash / un gel du processus.

À propos

Vous pouvez voir un exemple de Fermion en action ci-dessous, dans ce cas en instrumentant kernel32!ReadFile.

Fermion

Fermion dispose de l'auto-complétion, du linting et du support des symboles de l'API Frida.

Help

Fermion peut se connecter à un serveur Frida pour déboguer des applications distantes à l'aide du menu contextuel device. Dans de nombreux cas, comme avec le débogage USB ou lors de l'attachement à des applications mobiles via des émulateurs comme genymotion, Fermion détectera automatiquement le serveur disponible. Cependant, il est également possible de spécifier un serveur distant en utilisant une combinaison IP et Port.

Server

Fermion prend en charge nativement le CALL tracing des threads.

Trace

Cela ne fait peut-être pas exactement ce que vous attendez. Lorsque vous définissez une combinaison pointer ou module/Symbol, le tracer va s'attacher à cet emplacement et chaque fois qu'un thread s'exécute à cet endroit, il commencera à tracer toutes les instructions CALL que ce thread effectue jusqu'à son retour. Cela signifie que différentes exécutions peuvent générer des graphes différents, et aussi que vous ne verrez peut-être pas tout ce que fait une fonction (par exemple, si un autre thread est créé à l'intérieur de la fonction).

SVG

Fermion convertit ces traces au format Graphviz SVG en utilisant dot, que vous pouvez ensuite explorer. C'est une fonctionnalité que je trouve utile de temps en temps lors de travaux exploratoires (Que fait une fonction ? Quelle est la complexité de cette exécution ?). Cela dit, c'est une fonctionnalité prototype que j'ai construite au-dessus de Fermion et qui a probablement besoin d'être davantage peaufinée pour être plus proche d'une version de production.

Fermion dispose également d'une documentation intégrée pour l'API JavaScript de Frida. Comme tout le monde, je ne me souviens pas toujours du fonctionnement de chaque chose et avoir la documentation dans l'application évite d'avoir une fenêtre de navigateur ouverte.

Docs

Notes

Journal des modifications

Pour plus de détails sur les changements spécifiques aux versions, consultez le changelog.

Appel à contribution

Si vous intégrez Fermion dans votre flux de travail et le trouvez utile, je vous encourage à faire des pull requests, à soumettre des rapports de bugs et à demander des fonctionnalités pour améliorer l'application. Je ne suis pas vraiment un développeur Node, donc je suis sûr que des gens trouveront des moyens d'optimiser et de retravailler certains composants.

Feuille de route

  • Implémenter une interface de gestion des devices plus complète.
  • Refonte de l'interface utilisateur.
  • Évaluer l'intérêt pour davantage d'outils natifs construits au-dessus de Fermion et les ajouter.
  • Étendre le gestionnaire de devices pour tirer parti des nouvelles fonctionnalités intégrées à Frida v15.0+.

Remerciements spéciaux

Je veux juste adresser quelques remerciements spéciaux !

  • Un immense merci à Ole André V. Ravnås pour tout son travail sur Frida et pour avoir eu beaucoup de patience à répondre à mes questions de profane sur Frida, NodeJS et Monaco !
  • Un grand merci également à mattahan. J'utilise une icône Buuf pour le paquet Windows de Fermion. Je suis sûr que nous avons tous utilisé certaines de ses icônes sur NIX au fil des ans.
  • Merci à @MiscMisty, @lez0sec, @berkayyildi pour avoir consacré du temps/du code à Fermion !
Télécharger l’outil