首页 > 数据库技术 > 详细

WinDBG中条件字符串设断点

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

以我在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中条件字符串设断点

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!