Windbg 基础命令归纳(一)

前言

本系列针对的是windbg在逆向工程中的应用,不涉及源码调试的讨论,只涉及汇编级别的操作。定位是针对有OllyDbg基础希望学习Windbg(至少应当有汇编基础)的人提供的类似指令手册的存在。按照个人理解对于windbg的手册上的命令进行了简单的整理。
其中安装,配置符号,加载可执行文件(附加或直接打开)部分网上资料非常多,在此就不加以涉及,且本文不提供任何示例,建议自己编写文件调试以便于理解。


调试基础命令

  • .reload 重新加载

  • g 运行

    • gu 运行到当前函数返回
  • p 单步步过

    • pc/pt 运行到下一个call/ret
    • pct 运行到下一个call或ret
    • pa 运行到某个地址
    • ph 运行到下一个分支跳转(jmp、call、ret…)
  • t 单步步入

    • tb 运行到下一个分支跳转
    • tc/tt/tct/ta与p相同
  • b breakpoint

    • 三种参数格式
      • bp main+3 函数符号偏移下断
      • bp 00401000 绝对虚拟地址下断
      • bp ‘source.c:31’ 存在源码的情况下可用
    • C++方法下断
      • bp MyClass::MyMethod 或bp MyClass__MyMethod MASM格式
      • bp @@( MyClass::MyMethod ) C++表示语法
    • bp 正常断点
    • bl 列出所有断点
    • ba 内存访问断点,ba access size addr(size以BYTE为单位,access与size间没有空格),例:ba e1 addr1,ba w4 localVar
    行为
    (执行)当CPU取指定地址的指令时中断到调试器。(执行时size只能为1)
    (读写)当CPU取指定地址的指令时中断到调试器。
    (访问)当CPU写指定地址时中断到调试器。
    (i/o)(Microsoft Windows XP和之后版本、仅内核模式、仅x86系统)当指定Address的I/O端口被访问时中断到调试器。
    • bc 删除断点(参数为断点ID)
    • bd/be 禁止/允许断点
    • bu 相对而言,bp断点会被立刻转化为地址(例如bp Cpp1!main),而bu则是使用相对地址(相对符号的偏移),当符号地址改变bu地址也会发生改变,而bp则不变

读写内存指令

  • d* 显示指定内存、范围的内容
    • da ASCII格式显示内存
    • db BYTE格式显示内存(hex)
    • dd DWORD格式
  • dt 显示数据类型以及组成元素(r选项递归显示),使用示例 dt [-option] [module]!Name [addr] 或dt [-option] addr,其中module选项在存在同名全局变量与局部变量时使用,若不加则显示局部变量,addr默认为虚拟内存地址,可以使用-p指示物理内存,name可以使用通配符来显示所有匹配项
  • e* 写入指定内存,标准:e* address data
    • ea,写入ASCII字符串(无NULL)
    • eza,写入ASCII字符串(有NULL)
    • eb,写入byte,多个数值需要用空格分开
    • ed,写入dword
  • r 寄存器操作,显示所有寄存器的值
    • r zf 显示标志位
    • r eax 显示寄存器eax
    • r eax=0,对寄存器进行赋值
  • k 堆栈操作
    • k,显示函数调用关系(只显示call压入栈的返回地址)
    • kb,显示函数调用关系以及每个函数的前三个参数
    • kd,显示原始格式的栈(DWORD),不加以处理
  • u 反汇编操作
    • u address 显示指定地址的反汇编,地址必须为一条指令开始,否则会导致指令从该地址开始被解析(类似花指令效果)
    • uf address 显示指定地址所在函数的反汇编,不要求地址为精确的函数开始地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值