首页
社区
课程
招聘
[求助]关于调试器设断点
2010-9-29 17:06 4954

[求助]关于调试器设断点

2010-9-29 17:06
4954
如题,调试一个程序过程会加载N多DLL模块。需要在其中一个模块的地址空间的某个地方断下来,可是这个模块是在运行过程中动态加载的。使用OD或者Windbg在程序开始运行时设置该地址的断点会提示该地址无法找到。

       本人是菜鸟,可能需要更加高级的设置断点的方法。希望大侠告知,拜谢!

      顺便再问一句,如果是一个dll模块A里面又调用了另外一个dll模块B,对LoadLibraryExW() 设断是不是可以拦截对dll模块B的调用呢?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (6)
雪    币: 234
活跃值: (83)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
wyshzz 4 2010-9-29 17:19
2
0
可以先对LoadLibraryExW下条件断点,然后根据模块的基地址找到需要下断的地方在下断呀。。。
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rolbinal 2010-9-29 19:07
3
0
不错,这是一种思路。不知道还有没有其他的方法?
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rolbinal 2010-9-29 19:12
4
0
你上面的思路在Windbg中不知道可不可以这样写:bp LoadLibraryExW ".if poi(esp+4)==”DLL名称"  {} .else {gc}"
比如有没有一种条件断点,判断当该地址有效时,设置此处的断点。
雪    币: 807
活跃值: (1828)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老伙计 2010-9-30 10:13
5
0
你可以用od单独加载你想下断的那个dll,设置断点后再加载主程序调试,前面设置的断点就会起作用。
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 1 2010-9-30 11:08
6
0

123466
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rolbinal 2010-9-30 11:11
7
0
多谢,这个注意不错。但是如果习惯于使用Windbg的话,在加载某个dll之后,想在执行该dll某处代码时断下来,该怎么做呢?
游客
登录 | 注册 方可回帖
返回