(搜索反汇编模式)

数字符号 (#) 命令搜索反汇编代码中的指定模式。

# [Pattern] [Address [ L Size ]] 

参数

模式

指定要在反汇编代码中搜索的模式。 模式 可以包含各种通配符和说明符。 有关语法的详细信息,请参阅 字符串通配符语法。 如果要在 Pattern 中包含空格,则必须将模式括在引号中。 模式不区分大小写。 如果以前使用 # 过 命令,但省略 了 Pattern,则命令将重复使用最近使用的模式。

Address

指定搜索开始的地址。 有关语法的详细信息,请参阅地址和地址范围语法

大小

指定要搜索的指令数。 如果省略 Size,搜索将继续,直到出现第一个匹配项。

环境

说明
模式 用户模式、内核模式
目标 实时、故障转储
平台 全部

其他信息

有关程序集调试和相关命令的详细信息,请参阅 在程序集模式下调试

注解

如果之前使用了 # 命令,并且省略了 Address,则搜索从上次搜索结束的位置开始。

此命令的工作原理是搜索指定模式的反汇编文本。 可以使用此命令查找寄存器名称、常量或反汇编输出中显示的任何其他字符串。 可以在不使用 Address 参数的情况下重复该命令,以查找模式的连续匹配项。

可以使用 u (Unassemble) 命令或使用 WinDbg 中的 反汇编窗口查看反汇编 说明。 反汇编显示最多包含四个部分:地址偏移量、二进制代码、汇编语言助记键和汇编语言详细信息。 以下示例显示了可能的显示。

0040116b    45          inc         ebp            
0040116c    fc          cld                        
0040116d    8945b0      mov         eax,[ebp-0x1c] 

命令 # 可以搜索反汇编显示的任何单个部分内的文本。 例如,可以使用 # eax 0040116b 查找 mov eax,[ebp-0x1c] 地址为 0040116d 的指令。 以下命令也会找到此指令。

#  [ebp?0x  0040116b 
#  mov  0040116b 
#  8945*  0040116b 
#  116d  0040116b 

但是,不能以单个单元的形式搜索 mov eax* ,因为移动和 eax 出现在显示的不同部分。 请改用 mov*eax

作为另一个示例,可以发出以下命令,在入口点main后搜索对 strlen 函数的第一个引用。

# strlen main

同样,可以发出以下两个命令,在地址0x779F9FBA之后查找第一个 jnz 指令,然后查找之后的下一个 jnz 指令。

# jnz 779f9fba# 

如果省略 PatternAddress,则其值基于以前对 命令的使用 # 。 如果在首次发出 # 命令时省略任一参数,则不会执行搜索。 但是,即使在这种情况下, PatternAddress 的值也会初始化。

如果包含 PatternAddress,则其值将设置为输入的值。 如果省略 Address,则会将其初始化为程序计数器的当前值。 如果省略 Pattern,则会将其初始化为空模式。