# (Rechercher le modèle de désassemblement)
La commande de signe numérique (#) recherche le modèle spécifié dans le code de désassemblement.
# [Pattern] [Address [ L Size ]]
Paramètres
Modèle
Spécifie le modèle à rechercher dans le code de désassemblement. Le modèle peut contenir une variété de caractères génériques et de spécificateurs. Pour plus d’informations sur la syntaxe, consultez Syntaxe de caractères génériques de chaîne. Si vous souhaitez inclure des espaces dans Pattern, vous devez placer le modèle entre guillemets. Le modèle ne respecte pas la casse. Si vous avez déjà utilisé la # commande et que vous omettez Pattern, la commande réutilise le modèle le plus récemment utilisé.
Adresse
Spécifie l’adresse où la recherche commence. Pour plus d’informations sur la syntaxe, consultez Syntaxe des adresses et des plages d’adresses.
Taille
Spécifie le nombre d’instructions à rechercher. Si vous omettez Size, la recherche se poursuit jusqu’à ce que la première correspondance se produise.
Environnement
Élément | Description |
---|---|
Modes | Mode utilisateur, mode noyau |
Targets | Vidage en direct sur incident |
Plateformes | Tous |
Informations supplémentaires
Pour plus d’informations sur le débogage d’assembly et les commandes associées, consultez Débogage en mode Assembly.
Remarques
Si vous avez précédemment utilisé la # commande et que vous omettez Adresse, la recherche commence là où la recherche précédente s’est terminée.
Cette commande fonctionne en recherchant le modèle spécifié dans le texte désassemblé. Vous pouvez utiliser cette commande pour rechercher des noms de registre, des constantes ou toute autre chaîne qui apparaît dans la sortie de désassemblement. Vous pouvez répéter la commande sans le paramètre Address pour rechercher les occurrences successives du modèle.
Vous pouvez afficher les instructions de désassemblement à l’aide de la commande u (Unassemble) ou de la fenêtre Désassemblement dans WinDbg. L’affichage de désassemblement contient jusqu’à quatre parties : décalage d’adresse, code binaire, langage d’assembly mnémonique et détails du langage d’assembly. L’exemple suivant montre un affichage possible.
0040116b 45 inc ebp
0040116c fc cld
0040116d 8945b0 mov eax,[ebp-0x1c]
La # commande peut rechercher du texte dans n’importe quelle partie de l’affichage de désassemblement. Par exemple, vous pouvez utiliser # eax 0040116b pour rechercher l’instruction à l’adresse mov eax,[ebp-0x1c]
0040116d. Les commandes suivantes recherchent également cette instruction.
# [ebp?0x 0040116b
# mov 0040116b
# 8945* 0040116b
# 116d 0040116b
Toutefois, vous ne pouvez pas rechercher mov eax*
comme une seule unité, car mov et eax apparaissent dans différentes parties de l’affichage. Utilisez plutôt mov*eax
.
En guise d’exemple supplémentaire, vous pouvez émettre la commande suivante pour rechercher la première référence à la fonction strlen après le point d’entrée main.
# strlen main
De même, vous pouvez émettre les deux commandes suivantes pour rechercher la première instruction jnz après l’adresse 0x779F9FBA, puis rechercher l’instruction jnz suivante.
# jnz 779f9fba#
Lorsque vous omettez Pattern ou Address, leurs valeurs sont basées sur l’utilisation précédente de la # commande. Si vous omettez l’un ou l’autre des paramètres la première fois que vous émettez la # commande, aucune recherche n’est effectuée. Toutefois, les valeurs de Pattern et Address sont initialisées même dans cette situation.
Si vous incluez Pattern ou Address, sa valeur est définie sur la valeur entrée. Si vous omettez Adresse, elle est initialisée à la valeur actuelle du compteur de programme. Si vous omettez Pattern, il est initialisé sur un modèle vide.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour