首页
社区
课程
招聘
softice为什么不能中断在驱动中?
发表于: 2006-10-16 12:05 4233

softice为什么不能中断在驱动中?

2006-10-16 12:05
4233
别人写的驱动release版,我用ida生成map文件,再用msym生成nsm文件,
启动softice,在SymbolLoader中加载该文件,,提示成功加载.
再Ctrl+d,打开softice,打入sym命令,找到loc_0001059c,这个是Dispatch函数必经之路,即DeviceIoControl),输入bpx loc_0001059c,输入bl提示设置断点正常.
回到系统,运行应用程序,该程序是读取系统中某一段的内存(0xf8cxxxxx),然后写入C:\\pciIDE.sys中,虽然写文件成功,但却无法中断在loc_0001059c中.是什么原因呢?
注:用ultraedit打开C:\pciIDE.sys也与C:\windows\system32\drivers\pciide.sys差不多,所以驱动是正常的

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
你的SoftICE是什么版本的, 在什么操作系统下运行?
2006-10-16 13:09
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
xp sp2
computerware ds3.2
2006-10-16 13:30
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
DS3.2打了3.2.1补丁了么?
2006-10-16 18:29
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
应该是了,谢谢!
2006-10-17 08:41
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
还是不行,用符号名称作为中断地址还是无法中断,
但是如果通过deviceTree找到驱动的基址再计算出loc_0001059c的地址就可以正常设置并中断.为什么呢?
是不是还要装这个:
"Nmtranspath解决了DriverStudio所有版本的Symbol Loader不能中断程序入口点的问题"
2006-10-18 08:43
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
7
那个Nmtranspath似乎是2.7版用的
3.2.1补丁已经解决了这个问题

SoftICE是一个非常脆弱的软件, 很多软件(例如虚拟光驱, 以及杀毒软件)或多或少都会影响它的运行, 引起诸如断点失效等等问题, 如果还是不行, 建议在一台刚装Windows, 其他什么软件都没有装的机器上调试
2006-10-18 11:41
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
明白了,原来是不可以直接bpx 符号的,我用sym查看符号时,发现符号loc_0001059c仍然被定义为001:0001059c,很明显,IDA是不知道驱动被加载到什么基址的.
除非先用DeviceTree找到基址,再反编译sys文件,设置基址为0fxxxxxx
2006-10-18 16:33
0
游客
登录 | 注册 方可回帖
返回
//