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
flare-qdb — Débogueur en ligne de commande et Python pour instrumenter et modifier le comportement de logiciels natifs sous Windows et Linux. | Kitploit
Outils/GitHubGitHub/mandiant/flare-qdb
Analyse Dynamique (Sandboxing)Rétro-ingénierieScripting et AutomatisationDébogueursAnalyse de MalwareAnalyse de BinairesArchived
GitHubmandiant/flare-qdb

flare-qdb

Débogueur en ligne de commande et Python pour instrumenter et modifier le comportement de logiciels natifs sous Windows et Linux.

Voir le dépôt
1645310il y a 3 ansVé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 →
Site web
Partager

Debuggeur Orienté Requêtes des FireEye Labs

flare-qdb est un outil en ligne de commande et scriptable basé sur Python pour évaluer et manipuler l'état natif d'un programme. Il utilise Vivisect pour placer un point d'arrêt sur chaque instruction interrogée et exécute du code Python lorsque celui-ci est atteint.

flare-qdb libère l'analyste pour adopter une approche non linéaire de l'analyse dynamique qui prend en compte les questions qui surviennent au cours du débogage normal et de l'analyse statique. flare-qdb répond à ces questions sans obliger l'analyste à configurer manuellement une session de débogage interactive et à naviguer le compteur de programme jusqu'à cet emplacement de code.

Voici quelques exemples de questions ponctuelles auxquelles flare-qdb peut répondre :

  • Est-ce que eax est toujours égal à cette valeur à ce point ?
  • Quelle était la valeur de eax avant cette branche ?
  • Quelles valeurs cette chaîne prendra-t-elle tout au long de cette boucle ?
  • À la première itération de la boucle interne, quelle adresse de base est utilisée ?
  • Le programme va-t-il même atteindre cette logique ?
  • Quel code s'exécute en premier ?
  • Le nombre d'itérations de la boucle dépend-il de la valeur de argv[1] ?
  • Puis-je modifier les arguments de la ligne de commande pour éviter cette condition ?

flare-qdb peut également être utilisé pour faciliter la manipulation automatisée et reproductible de l'exécution du programme. Voici quelques exemples d'applications utiles :

  • Exécuter un décodeur de chaînes avec différents arguments pour extraire rapidement toutes les chaînes utilisées par un échantillon de malware.
  • Remplacer les arguments de Sleep() pour permettre des tests itératifs rapides d'un serveur de commande et contrôle (C2) personnalisé.
  • Indiquer à un outil d'élévation de privilèges que son niveau d'intégrité est 0x1000 (MANDATORY_LOW_RID) afin de l'inciter à exécuter son code d'exploit.
  • Automatiser de manière reproductible le dépaquetage d'un packer qui saute dans un ou plusieurs emplacements de tas non déterministes.
  • flare-qdb accepte plusieurs requêtes qui prennent la forme d'un compteur de programme ou d'une expression Vivisect associée à du texte Python à évaluer dans l'environnement de script de flare-qdb. Les expressions Vivisect peuvent être utilisées pour spécifier des valeurs de compteur de programme constantes simples comme "0x401000", des expressions symboliques comme "kernel32.Sleep", et plus encore. Les expressions Vivisect peuvent également intégrer l'état des registres et de la mémoire pour formuler des conditions sophistiquées, comme "not eax or (( edx > 3) and (poi(ebp-8) < 5))".

    Le format des arguments de ligne de commande pour cela est :

    root@kitploit:~
    -at <vexpr-pc> <pythontext>
    

    flare-qdb prend également en charge l'évaluation conditionnelle basée sur la valeur de vérité d'une expression Vivisect :

    root@kitploit:~
    -at-if <vexpr-pc> <vexpr-conds> <pythontext>
    

    flare-qdb fournit plusieurs fonctions intégrées pour un débogage pratique, disponibles à la fois depuis la ligne de commande et en tant que méthodes de sa classe Qdb.

    flare-qdb a été testé principalement sous Windows, mais fonctionne sous Linux. Malheureusement, le port Darwin de la classe vtrace.Trace de Vivisect est incomplet, donc flare-qdb ne supporte pas OSX.

    Exemples de scripts

    flare-qdb est livré avec De-DOSfuscator, un outil pour décoder les fichiers batch obfusqués en les exécutant. Les détails peuvent être trouvés dans le Guide De-DOSfuscator ou en lisant le blog Cmd and Conquer: De-DOSfuscation with flare-qdb.

    Informations détaillées

    Des informations sur l'installation de flare-qdb sont disponibles dans le Guide d'installation.

    Des informations sur l'utilisation de flare-qdb en ligne de commande sont disponibles dans le Guide d'utilisation en ligne de commande.

    Des informations sur le scripting avec flare-qdb sont disponibles dans le Guide de scripting. Les méthodes de la classe Qdb spécifiques au scripting de flare-qdb peuvent être trouvées dans la Référence des méthodes.

    Une référence complète des fonctions intégrées de flare-qdb (disponibles à la fois depuis la CLI et en tant que méthodes d'instance) est disponible dans la Référence des fonctions intégrées ou en tapant flareqdb --help-builtins après avoir installé flare-qdb.

    La documentation de De-DOSfuscator peut être trouvée dans le Guide De-DOSfuscator.

    Des informations de dépannage peuvent être trouvées dans le Guide de dépannage.

    Les remerciements et les réflexions sur les fonctionnalités futures qui pourraient être utiles peuvent être trouvés dans les Notes.

    Télécharger l’outil