针对LdrLoadDll下条件断点过滤指定名称DLL加载时断点生效

原创 2015年11月17日 18:05:33

针对加载*ser32.dll下断点:

bu ntdll!LdrLoadDll "r $t0=poi(poi(esp+c)+4);as /mu ${/v:dllname} @$t0;.block{.if($spat(\"${dllname}\",\"*ser32.dll\")){kbn}; .else{ad ${/v:dllname};g}}"


------------------------------------------------
命令: as
功能: 定义别名
/ma  参数指定的内存地址当做ASCII字符串。
/mu  参数指定的内存地址当做Unicode字符串。
/msa  参数指定的内存地址当做ANSI_STRING字符串。
/msu  参数指定的内存地址当做UNICODE_STRING字符串。
/f  别名等于参数指定文件的内容。
/e  别名等于参数指定的环境变量。

------------------------------------------------
命令: ${} (说明:准确说不是命令,是Command Tokens类似.if之类)
功能: ${}是别名解释器,可以使用windbg帮助手册查看详细信息
Text ${Alias} Text 
Text ${/d:Alias} Text 
Text ${/f:Alias} Text 
Text ${/n:Alias} Text 
Text ${/v:Alias} Text 

/v:  保持别名原样,不翻译,在定义和删除的时候用。
/n:  如果别名定义就翻译为内容,否则不做任何翻译。
/f:  如果别名定义就翻译为内容,否则翻译为空。
/d:  如果别名被定义,翻译为1,否则翻译为0,相当于#ifdef。

-----------------------------------------------
命令: 20个伪寄存器
User-Defined Pseudo-Registers
There are 20 user-defined pseudo-registers ($t0, $t1, ..., $t19). These pseudo-register are variables that you can read and write through the debugger. You can store any integer value in these pseudo-registers. They can be especially useful as loop variables.


To write to one of these pseudo-registers, use the r (Registers) command, as the following example shows.


0:000> r $t0 = 7
0:000> r $t1 = 128*poi(MyVar)

(开源) Ring3下的DLL注入工具 x86&x64(NtCreateThreadEx + LdrLoadDll方式实现,可以注入系统进程)

工具介绍及使用请移步:http://blog.csdn.net/sunflover454/article/details/50441014 本文首发在零日安全论坛:http://www.jmpoep....
  • sunflover454
  • sunflover454
  • 2015年12月31日 13:40
  • 7807

vs中无法加入断点进行调试的解决方案

vs中无法加入断点进行调试的解决方案 【 1】 以前也遇到过同样的问题,但没有问个为什么,也没有探个毕竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不轻易定位, 但设置断点后按“F5”,断点...
  • jean7155
  • jean7155
  • 2015年09月14日 11:42
  • 8783

怎么为vs2008设置dll的输出目录和名字?

更改dll名称及输出位置 项目–属性–配置属性–连接器—输出文件 目标位置:“E:\123” ,目标文件:shuchu.dll 原始图如下 更改完成后的图如下 列表内容更改dll输出位置 项...
  • wangbeibei23
  • wangbeibei23
  • 2016年05月02日 12:25
  • 1850

【Additional DLLs】在未被加载的DLL中设置断点

【原文:http://ls.cq.blog.163.com/blog/static/620748072009817101150513/】 问题: 这个问题居然也郁闷了我一段时间。 我们假设在E...
  • zhazhiqiang2010
  • zhazhiqiang2010
  • 2014年03月13日 11:15
  • 618

Siverlight 调试DLL发现的,当前不会命中断点。还没有为该文档加载任何符号(收集)

正在调试Silverlight的企业级项目,全插件的开发模式,没有使用XAP插件方式,从Ankhsvn开发,提交代码,现在导出后重新建立SVN服务器,结果不能调用DLL 结果我开始找资料,如下: ...
  • wlanye
  • wlanye
  • 2011年12月15日 09:53
  • 2795

vs2008 高级条件断点 VS 指定值时下断点

  • 2011年09月07日 16:50
  • 1KB
  • 下载

调试时设置条件断点

一个好的调试器,能够帮助程序员处理很多自动化的工作。试想下列的情形: 1.         错误是发生在一个循环当中,只在循环遍历了若干次以后,才会出现。 2.         错误只在程序中某个...
  • minglingji
  • minglingji
  • 2012年04月23日 09:42
  • 404

C#中断点不能调试问题(当前不会命中断点,还没有为该文档加载任何资料 )

1、winform 程序中,经常会出现的一个错误,断点不可调试。    (1)当前不会命中断点,还没有为该文档加载任何资料      问题原因:窗口所在的类库或者项目在应用程序目录中(release或...
  • baicai_123
  • baicai_123
  • 2016年12月07日 10:26
  • 3087

vs2010当前不会命中断点 还没有为该文件加载任何符号

WMSwitchFilter项目中用到了自己打包为静态库的项目RtmpSendLib,后者中有一个自己写的Remp发送线程。在该线程中打断点,调试一直到不了,总是提示“当前不会命中断点 还没有为该文件...
  • ybsun2010
  • ybsun2010
  • 2015年03月24日 11:16
  • 7520

当前不会命中断点还未为文档加载任何符号——问题探究

今天在调试牛腩网页的时候遇到了一个问题需要用到断点调试来解决,可是加了断点之后出现了下面的情况: 然后就郁闷了,查了百度之后得到了如下的结果:         断点调试是VS中的一大利器,有了它我...
  • tr1912
  • tr1912
  • 2016年04月10日 11:35
  • 11287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:针对LdrLoadDll下条件断点过滤指定名称DLL加载时断点生效
举报原因:
原因补充:

(最多只允许输入30个字)