Windbg 字符串条件断点】的更多相关文章

0x01 前言 Windbg 作为 Windows 下的主流调试器,除了人机交互相比其他调试器略有不足外,其他功能都是十分强大的存在. 在所有的调试器中断点功能都是必不可少的,Windbg 可以使用 bp 等命令很方便的对地址和符号下断点,这些都是非常常用的,但是对字符下断点,尤其是 unicode 字符下断点则用的比较少,但是用的好确实能解决许多问题,比如需要记录和断下一些关键 API 的参数字符等. 0x02 对关键 API 下字符比较断点 如何使字符比较断点断下,使用 Windbg 脚本是…
作者:枕边月亮 原文来自:CVE-2015-1641 Office类型混淆漏洞及shellcode分析 0x1实验环境:Win7_32位,Office2007 0x2工具:Windbg,OD,火绒剑,UltraEdit,oletools:   0x3漏洞简述:word在解析docx文档的displacedByCustomXML属性时未对customXML对象进行验证,可以传入其他标签对象进行处理,造成类型混淆,通过在word中嵌入构造好的RTF文件,其中经过精心构造的标签以及对应的属性值被dis…
经常有人问如何快速的定位和解决问题,很多时候答案就是借助工具, 记录个人Windows开发中个人常用的一些辅助工具.   (1) Spy++ 相信windows开发中应该没人不知道这个工具, 我们常用这个工具查看窗口层次,跟踪窗口消息. (2) WinSpy 一个窗口相关的小工具,非常有用,可以帮我们快速查看和修改窗口属性.(这个工具是开源的, 拿来学习挺不错的)   (3) Process Explorer 非常有用的工具,类似任务管理器,但是比任务管理器强大的多. 可以让我们查看查看每个进程…
因为Windgb支持MASM语法,字符串的比较方法有$scmp和$sicmp.用法和c中的字符串比较方法一致.在需要比较字符串成员变量的时候,遇到了点问题.因为字符串成员变量无法直接获取字符串内容.poi指令是直接取地址.所以需要结合伪寄存器和别名进行封装. 伪寄存器语句如下: r @$t0=@@(&this->_test._Bx._Buf) _test变量的类型为string.@@为C++语法表达式. 别名的语句如下: as /ma ${/v:testAlias} @$t0 此时使用al,…
1 . 条件断点是断点命令 ( bp 或者 bu ) 与j命令或者.if命令一起使用的,后面跟着一个gc命令   0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "    0:000> bp Address ".if (Condition) {OptionalCommands} .else {gc}" 2.      这里说下j命令,j命令的语法如下, 这里的Expression是表达式…
dg (Display Selector) dg命令显示指定选择器的段描述符. dg FirstSelector [LastSelector] 参数: FirstSelector指定要显示的第一个选择器的十六进制选择器值. LastSelector指定要显示的最后一个选择器的十六进制选择器值.如果省略,则只显示一个选择器. 此命令最多只能显示256个选择器.常用选择器值为: ID 十进制 十六进制 KGDT_NULL 0 0x00 KGDT_R0_CODE 8 0x08 KGDT_R0_DATA…
Case 1 1.bu USER32!PostMessageW "r $t0=@$t0+1;.printf\"PostMessageW Call Count:%d\",@$t0;.echo;g" 分号是用来分离语句的: $t0是伪寄存器: @$t0是读取寄存器当中的值: 2.bu USER32!PostMessageW "kb L2" a) 如果命中,打印2层栈帧. 这个技巧可以看到到底是谁调用的指定的函数. b) 另外通过找到函数的调用约定,我…
第一章 准备 1.1.    环境配置 _NT_DEBUGGER_EXTENSION_PATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 _NT_SYMBOL_PATH=SRV*c:\Symbols*http://msdl.microsoft.com/download/symbols Path add: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 C:\Program Files\Debugging…
WinDbg WinDbg支持以下三种类型的命令: ·        常规命令,用来调试进程 ·        点命令,用来控制调试器 ·        扩展命令,可以添加叫WinDbg的自定义命令,一般由扩展dll提供这些命令 PDB文件 PDB文件是由链接器产生的程序数据库文件.私有PDB文件包含私有和公有符号,源代码行,类型,本地和全局变量信息.公有PDB文件不包含类型,本地变量和源代码行信息,且只包含共有成员的调试信息. Dump文件 利用Dump工具,你可以获得进程的快照信息.一个mi…
一. 1. !address eax 查看对应内存页的属性 2. vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block 4. lmvm 可以查看任意一个dll的详细信息 例如:我们查看cyusb.sys的信息 5.reload /!sym 加载符号文件 6. lmf 列出当前进程中加载的所有dll文件和对应的路径 7. r 命令显示和修改寄存器上的值 r命令显示和修改寄存器上的值 0:018> r eax=0 修改了寄存器,把eax的值…