ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Windbg命令系列---#(汇编搜索)

2021-10-18 08:32:10  阅读:199  来源: 互联网

标签:汇编 Windbg 模式 命令 地址 搜索 反汇编 0040116b ---#


#命令在反汇编代码里根据指定模式进行搜索。

语法

# [Pattern] [Address [ L Size ]]

参数

Pattern

指定要在反汇编代码中搜索的模式。模式可以包含各种通配符和说明符。如果要在模式中包含空格,则必须用引号将模式括起来。该模式不区分大小写。如果您以前使用过#命令并且省略了模式,则该命令将重用最近使用的模式。

Address

指定搜索开始的地址。

Size

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

环境

Modes

User mode, kernel mode

Targets

Live, crash dump

Platforms

All

备注

如果您以前使用过#命令并且省略了地址,则搜索将从上一次搜索结束的位置开始。此命令通过搜索反汇编文本中的指定模式来工作。可以使用此命令查找寄存器名称、常量或反汇编输出中显示的任何其他字符串。可以在不使用Address参数的情况下重复该命令。

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

如果您以前使用过#命令并且省略了地址,则搜索将从上一次搜索结束的位置开始。

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

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

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

但是,您不能将mov eax*作为单个单元进行搜索,因为mov和eax显示在不同部分。相反,可以使用mov*eax。作为另一个示例,您可以发出以下命令来搜索入口点main之后对strlen函数的第一个引用。

# strlen main

类似地,您可以发出以下两个命令来查找地址0x779F9FBA之后的第一条jnz指令,然后查找地址0x779F9FBA之后的下一条jnz指令。

 # jnz 779f9fba# 

省略模式或地址时,它们的值基于先前使用的#命令。如果在第一次发出#命令时忽略了任一参数,则不会执行任何搜索。然而,即使在这种情况下,模式和地址的值也会被初始化。如果包含模式或地址,则其值将设置为输入的值。如果省略地址,它将初始化为程序计数器的当前值。如果省略模式,它将被初始化为空模式。

标签:汇编,Windbg,模式,命令,地址,搜索,反汇编,0040116b,---#
来源: https://www.cnblogs.com/yilang/p/15402916.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有