Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
gemma_crackme_tutorial — Tutoriel étape par étape sur l'utilisation du modèle d'IA local Gemma 4 E4B de Google pour rétro-ingénier un crackme Windows avec Ghidra, incluant la configuration pour l'inférence locale et le renommage automatisé des fonctions/variables. | Kitploit
Outils/GitHubGitHub/markoglasgow/gemma_crackme_tutorial
Rétro-ingénierieDébogueursAnalyse de BinairesApprentissage AutomatiqueApprentissage et ÉducationRétro-Ingénierie Assistée par IA
GitHubmarkoglasgow/gemma_crackme_tutorial

gemma_crackme_tutorial

Tutoriel étape par étape sur l'utilisation du modèle d'IA local Gemma 4 E4B de Google pour rétro-ingénier un crackme Windows avec Ghidra, incluant la configuration pour l'inférence locale et le renommage automatisé des fonctions/variables.

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
Voir le dépôt
35333il y a 5 moisVérifié par Kitploit

Utilisation du modèle IA local Google Gemma 4 E4B pour rétro-ingénierer un Crackme simple

Je jouais avec le nouveau modèle local open weights Gemma E4B que Google a publié, et à ma grande surprise, je rencontrais un grand succès dans son utilisation pour des scénarios de rétro-ingénierie locaux hors ligne. J'ai voulu écrire ce tutoriel pour faire connaître que l'IA locale est maintenant assez bonne pour de nombreuses tâches de base de rétro-ingénierie, et que les choses vont probablement s'améliorer rapidement à partir de là.

Rétro-ingénierie et IA

L'une des parties les plus fastidieuses de la rétro-ingénierie d'un nouveau binaire est au tout début, quand on n'a aucune idée de ce que sont les fonctions et variables importantes. Il existe de nombreuses astuces que les rétro-ingénieurs utilisent pour commencer, notamment en regardant les références de chaînes, le binaire diffing ou la correspondance de fonctions similaires.

L'IA est très utile ici, et personnellement j'ai eu beaucoup de succès en utilisant l'API OpenAI pour annoter un binaire ou nettoyer la sortie du décompilateur. Cependant, l'utilisation de ces API présente plusieurs inconvénients :

  • Coût - La décompilation et le désassemblage génèrent des tonnes de tokens. Les API facturent par token, donc les binaires plus gros peuvent coûter beaucoup d'argent à analyser. Si vous traitez une cible volumineuse avec de nombreux binaires qui se mettent à jour chaque semaine, ces coûts peuvent s'accumuler rapidement et sont prohibitifs pour les ingénieurs amateurs.

  • Confidentialité - Lorsque vous utilisez une API distante, l'hôte de l'IA a un aperçu de ce que vous faites. C'est un élément rédhibitoire dans certains scénarios professionnels.

  • Contrôle - Lorsque vous dépendez d'une API distante, vous n'avez aucun contrôle sur les modèles qui vous sont servis, ni sur la qualité des modèles. Si vous comptez sur eux pour des tâches critiques, cela peut être problématique lorsqu'ils deviennent lents ou tombent en panne au moment où vous en avez besoin, ou lorsque la qualité de leur sortie se dégrade au point de devenir inutile.

Exécuter vos propres modèles IA locaux résout certains de ces problèmes :

  • Coût - Cela peut être beaucoup moins cher d'exécuter un modèle local que de dépendre d'un service hébergé. Bien que votre modèle local soit probablement plus petit et plus lent que celui d'un bon fournisseur, s'il est assez bon et fonctionne en un temps raisonnable, il peut être judicieux d'économiser de l'argent en exécutant votre propre modèle, surtout si vous traitez de grandes quantités de données pour des tâches simples.

  • Confidentialité - Lorsque vous exécutez le modèle localement, il n'y a pas d'appels réseau et vous contrôlez totalement votre confidentialité. Personne ne peut voir pour quoi vous utilisez le modèle sur votre propre machine.

  • Contrôle - La beauté d'un modèle open weights est que personne ne peut vous l'enlever. OpenAI ou Anthropic pourraient un jour rendre leurs modèles SotA indisponibles, soit par des augmentations de prix, soit en supprimant explicitement leurs API. Mais avec un modèle open weights, vous contrôlez votre destin, pour le meilleur ou pour le pire.

Les modèles IA locaux ont cependant leurs inconvénients :

  • Taille - Plus votre modèle est grand, plus il est intelligent. Cependant, la plupart des grands modèles ne peuvent pas tenir sur du matériel grand public. Pour cette raison, si vous exécutez un modèle local, il y a de fortes chances que vous exécutiez un modèle 10 à 100 fois plus petit qu'un modèle SotA (State-of-the-Art). Cette diminution de taille entraîne directement une diminution de l'intelligence du modèle, les rendant inadaptés à de nombreuses tâches que les gens considèrent comme acquises dans des modèles SotA comme ChatGPT/Codex ou Claude.

  • Vitesse - Les modèles locaux fonctionneront probablement plus lentement sur votre machine que lors de l'utilisation d'une API IA. Là encore, cela est dû aux limites du matériel grand public et à certaines astuces que les fournisseurs d'API peuvent utiliser et qui ne sont généralement pas disponibles pour vous.

  • Configuration - Exécuter des modèles locaux, c'est comme essayer de faire fonctionner Linux sur un ordinateur portable reconditionné plutôt que d'entrer dans un Apple Store et d'acheter un tout nouveau MacBook Air. L'expérience Codex et Claude Code est l'expérience Apple Store de l'IA. L'expérience des modèles IA locaux, c'est le gars avec un fedora dans son garage qui tape sur un ordinateur bancal pour essayer de le faire fonctionner. Au minimum, vous devez vous préoccuper des éléments suivants :

    • Acquérir le bon matériel
    • Pilotes GPU
    • Choisir et configurer le bon serveur d'inférence
    • Choisir un modèle qui tiendra sur votre matériel, fonctionnera assez rapidement pour être pratique et sera suffisamment intelligent pour la tâche à accomplir
    • Utiliser le bon modèle de chat (chat template) avec votre modèle
    • Explorer les quantifications du modèle pour trouver le bon compromis entre taille/vitesse et intelligence du modèle
    • Formuler la bonne invite (prompt) pour le modèle
    • Choisir le bon harnais (harness), ou créer le vôtre si aucun de ceux existants ne fonctionne.

Ce n'est pas un parcours facile, et beaucoup de gens abandonnent en supposant que les modèles IA locaux ne sont pas à la hauteur de la tâche, parce qu'ils n'ont jamais trouvé la bonne combinaison de matériel/modèle/paramètres/invite/harnais pour les faire fonctionner pour leur tâche. Bien que dans de nombreux cas ils aient raison, j'espère que ce tutoriel au moins mettra en lumière le chemin parcouru par les modèles locaux, comment ils peuvent aider à la rétro-ingénierie, et inspirera les gens à essayer l'IA locale.

Configuration de Rétro-ingénierie

  • Le crackme est un crackme Windows extrêmement simple téléchargé depuis Crackmes.one ici : https://crackmes.one/crackme/69e13f938afd9d6c48b488fd

(le mot de passe de l'archive est crackmes.one). J'ai hébergé un lien alternatif ici dans le dépôt au cas où le lien original ne fonctionnerait plus.

  • Ghidra 12.04 est utilisé pour le désassemblage et la décompilation. Vous devrez installer OpenJDK 21 pour l'utiliser : https://github.com/nationalsecurityagency/ghidra

  • En travaillant sur ce tutoriel, j'ai codé en vibe avec Claude Code un plugin Ghidra pour renommer les fonctions et variables avec l'IA. Vous pouvez télécharger le plugin ici : https://github.com/markoglasgow/Ghidra_FastAIRenamer_Plugin

Pour l'installer, déplacez simplement le fichier zip ghidra_12.0.4_PUBLIC_20260427_FastAIRenamerPlugin.zip vers ${GHIDRA_HOME}\Extensions\Ghidra, puis lancez Ghidra en exécutant ${GHIDRA_HOME}\ghidraRun.bat. Pour activer le plugin, dans l'écran initial de Ghidra, dans le menu supérieur, sélectionnez File -> Install Extensions, puis dans le navigateur de plugins, cochez la case à côté de FastAIRenamerPlugin, puis cliquez sur Ok. Ghidra vous demandera de redémarrer, faites-le immédiatement.

Télécharger l’outil