码迷,mamicode.com
首页 > 数据库 > 详细

WinDBG中条件字符串设断点

时间:2014-09-02 18:09:45      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:windbg设字符串条件断点

以我在notepad.exe中设置CreateFileW特定文件名断点为例。

bp kernel32!CreateFileW "r $t1=poi(esp+4);as /mu $FileName $t1;.block{.if($sicmp(\"${$FileName}\",\"C:\\abc.txt\")!=0){.echo c:\\abc.txt}.else{.echo nonono;gc}}"

bp kernel32!CreateFileW "r $t1=poi(esp+4);as /mu $FileName $t1;.block{.if($spat(\"${$FileName}\",\"*abc.txt\")!=0){.echo c:\\abc.txt}.else{.echo nonono;gc}}"

bp kernel32!CreateFileW "r $t1=poi(esp+4);as /mu $FileName $t1;.block{.if($scmp(\"${$FileName}\",\"*abc.txt\")!=0){.echo c:\\abc.txt}.else{.echo nonono;gc}}"

解释: 1..echo命令显示注释字符串 如:.echo String

2.r $t1=poi(esp+4),poi(esp+4)取地址的值,并赋给伪寄存器$t1 ;

       3.as /mu $FileName $t1 ,定义$t1 所指地址一个别名$FileName,用来在下面的$spat中使用/mu代表Unicode字符串,/ma代表ASCII字符串;

4.scmp/sicmp/spat进行字符串比较,scmp大小写敏感;sicmp不区分大小写;spat模糊匹配,用*代替模糊词组;

5..block:代码块

bp CreateFileW "du /c 50 poi(@esp+4) ;gc"打印出断点函数的第一个参数内容;


本文出自 “xibi199011” 博客,请务必保留此出处http://xibi199011.blog.51cto.com/6859097/1547859

WinDBG中条件字符串设断点

标签:windbg设字符串条件断点

原文地址:http://xibi199011.blog.51cto.com/6859097/1547859

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!