Windbg_13-Windbg中的搜索

1.内容概要:

  • s 命令搜索内存
    在进程的虚拟内存空间中找到想要的数据
  • 符号搜索
    不记得符号全名的情况下使用符号搜索找到符号
  • 搜索符号引用
    搜索符号引用的意思是:找到使用符号(函数或者地址,变量)的地方

1.1:s 命令搜索内存

内存搜索是调试器中的常见操作,在windbg中搜索内存使用的是s命令,下面讲解s命令的用法:

  • 在指定范围内搜索ASCII字符或者UNICODE字符
    s - [flags]sa | su 范围

    sa 表示搜索ASCII字符,su表示搜索UNICODE字符
    
    在指定范围搜索特定的数据类型
    s -[flags]type 范围  要搜索的数据
    type表示搜索的类型,后面跟上范围和要搜索的数据
    

flags的含义如下:
Windbg_13-Windbg中的搜索_第1张图片

type的含义:
Windbg_13-Windbg中的搜索_第2张图片
1.2 符号搜索
​ 此外,在逆向分析的时候我们可能会忘记了搜索目标的符号名称,可以使用x命令加上通配符来搜索匹配,寻找我们感兴趣的函数。

​ x 符号

示例:x *er*!Message * (x 模块 函数)

1.3 搜索符号引用
​ 在分析程序的时候,我们还可能需要看程序中哪里调用了我们感兴趣的函数,哪里访问了我们感兴趣的变量。
这种情况下我们可以通过搜索符号引用找到这些位置:

​ # 符号 范围

​ 同样的,可以使用模糊查询,使用*作为通配符

  1. 2:使用示例:
    先在VS stdio中编辑并编译源程序为exe文件供测试使用:
    Windbg_13-Windbg中的搜索_第3张图片

使用Windbg打开编译好的exe文件,
Windbg_13-Windbg中的搜索_第4张图片

使用搜索命令:
Windbg_13-Windbg中的搜索_第5张图片

Windbg_13-Windbg中的搜索_第6张图片

搜索unicode 码:
Windbg_13-Windbg中的搜索_第7张图片
Windbg_13-Windbg中的搜索_第8张图片

Windbg_13-Windbg中的搜索_第9张图片

# MessageBoxA 起始地址 l 字节大小(在此范围中查找引用此函数的地方)
Windbg_13-Windbg中的搜索_第10张图片

此外,输入 r 查看寄存器的值。

你可能感兴趣的:(软件调试,Windbg使用,windows,软件调试)