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
Outils/GitHubGitHub/ahaggard2013/binaryninja-ollama
Analyse de CodeRétro-ingénierieProtection de la Vie PrivéeAnalyse de BinairesApprentissage AutomatiqueRétro-Ingénierie Assistée par IA
GitHubahaggard2013/binaryninja-ollama

binaryninja-ollama

Plugin pour Binary Ninja qui intègre les modèles Ollama locaux pour renommer les fonctions et les variables dans le code HLIL décompilé, préservant la confidentialité en gardant l'analyse entièrement locale et hors ligne.

Voir le dépôt
8311il 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

"Buy Me A Coffee"

Binary Ninja Ollama (v1.0.9)

Auteur : Austin Haggard

Binary Ninja Ollama s'intègre à votre propre serveur ollama hébergé localement pour renommer les fonctions et les variables avec l'IA

Description :

Ollama est un outil qui vous permet de télécharger des modèles d'IA open source et de les exécuter localement. Certains modèles nécessitent une puissance de calcul importante, tandis que d'autres peuvent être exécutés sur votre ordinateur personnel. Les résultats varieront considérablement selon le modèle que vous choisissez d'utiliser :).

Pourquoi utiliser ceci plutôt que sidekick/openai ?

  1. C'est GRATUIT et facile à configurer localement.
  2. Ai-je dit que c'était GRATUIT ?
  3. Il peut être exécuté n'importe où sans internet !
  4. Vos données restent entre vous et votre serveur ollama, sans tiers.

Fonctionnalités

Ce plugin intègre Ollama à Binary Ninja et prend en charge les actions listées ci-dessous :

  • Définir quel serveur/port binary ninja doit utiliser pour se connecter à ollama.
    • Vous avez un PC de jeu (très) puissant ? Utilisez-le pour héberger ollama et pointez binja vers llama3:70b/gemma2:27b.
    • Vous l'utilisez sur un ordinateur portable ? Hébergez-le localement, réglez-le sur localhost et exécutez gemma2:latest/llama3:latest.
    • Il existe de nombreux autres modèles à essayer, mais j'ai principalement testé ceci avec des variantes de llama3/gemma2 avec des résultats corrects.
  • Interroger votre serveur ollama hébergé localement pour déterminer ce que fait une fonction donnée.
    • Cela peut être utilisé pour renommer toutes les fonctions en masse, ou des fonctions ciblées individuellement.
  • Permet aux utilisateurs de renommer des variables en HLIL à l'aide d'ollama.
    • Cela peut être utilisé pour renommer des variables individuelles dans une instruction.
    • Cela peut être utilisé pour renommer toutes les variables d'une fonction.

Installation

Si vous installez ceci en tant que plugin autonome, vous pouvez placer (ou créer un lien symbolique) ce dossier dans le chemin des plugins de Binary Ninja. Les chemins par défaut sont détaillés dans la documentation de Vector 35.

Dépendances

  • Python 3.10+
  • ollama installé avec pip3 install ollama

Serveur Ollama

Ceci nécessite d'avoir accès à votre propre serveur ollama ou de l'héberger vous-même, et de télécharger les modèles que vous souhaitez utiliser.

Suivez les instructions sur https://ollama.com pour configurer votre serveur et télécharger les modèles que vous souhaitez essayer. Une fois cela fait, un serveur devrait être démarré automatiquement et accessible via localhost:11434.

Utilisation

Renommer toutes les variables d'une fonction

L'option de renommage de toutes les variables d'une fonction analyse toutes les variables d'une fonction et tente de les renommer en fonction de l'invite suivante :

root@kitploit:~
prompt = (
             f"In one word, what should the variable '{variable}' be named in the below Function? "
             f"The name must meet the following criteria: all lowercase letters, usable in Python code"
)

Avant le renommage des variables Après le renommage des variables

Renommer toutes les fonctions

L'option de renommage de toutes les fonctions parcourt toutes les fonctions, de la plus petite à la plus grande, dans une binaryview et les renomme en fonction de l'invite :

root@kitploit:~
prompt = (
    f"Given the following HLIL decompiled code snippet, provide a Python-style function name that describes what the code is doing. "
    f"The name must meet the following criteria: all lowercase letters, usable in Python code, with underscores between words. "
    f"Only return the function name and no other explanation or text data included."
)

Avant le renommage des fonctions Après le renommage des fonctions Après le renommage des fonctions

Renommer une fonction ciblée

Le renommage d'une fonction ciblée utilise la même invite que le renommage de toutes les fonctions, mais la limite à la fonction sélectionnée lors du déclenchement du plugin.

Renommer une variable d'une fonction ciblée

Le renommage d'une variable ciblée utilise la même invite que le renommage de toutes les variables, mais la limite à la fonction sélectionnée lors du déclenchement du plugin.

Paramètres

Les paramètres sont déclenchés au premier appel de toute opération de renommage au premier démarrage de binary ninja, ou en les déclenchant manuellement. Les paramètres appliqués persistent pendant une session binary ninja.

La fenêtre des paramètres vous permet de définir l'IP, le port et le modèle à utiliser dans ollama. Seuls les modèles téléchargés sont sélectionnables.

Option des paramètres du plugin Options de connexion du plugin Options de modèle du plugin

Problèmes connus

  • Sur les fonctions plus volumineuses, l'IA ignorera l'invite et renverra de grands blocs de texte décrivant la fonction. Ceci est atténué en ignorant la valeur renvoyée et en journalisant un message « can't rename function », mais cela pourrait être étudié plus en détail.
  • Le serveur choisi étant inexistant pourrait être mieux géré.

Demande de fonctionnalités

  • Quelque chose vous intéresse qui n'est pas inclus ?

    • Ouvrez une issue !
    • Faites une pull request.
  • Idées :

    • cibler le nommage d'une seule variable au lieu de toutes les variables d'une ligne
    • générer des commentaires IA décrivant le code
    • Récupération de structure

Licence

Ce plugin est publié sous une licence MIT.

Télécharger l’outil