首页
社区
课程
招聘
[求助]关于调试进程creatfile返回失败的问题
发表于: 2018-7-24 15:23 2879

[求助]关于调试进程creatfile返回失败的问题

2018-7-24 15:23
2879
没有用ollydbg调试进程时,进程可以正常运行,用ollydbg附加进程,附加成功后,在createfilew下断点,一样的参数多次调用createfilew打开桐一个存在的文件
大概第4次就会返回失败,用getlasterror查看错误代码为32
〖32〗-进程无法访问文件,因为另一个程序正在使用此文件。

为什么在od调试下会出现这种问题呢,感觉是多线程问题,因为createfile不是在一个线程中被调用的,为什么程序单独运行没有这样的问题呢?
有没有大牛,大神给小弟解释下呢,感激不尽

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
看 ShareMode = 0 ,可能是多个线程都会打开该文件,而OD又只能调试一个进程,某个进程 CreateFileW 以后还没有来得及关闭,就另外一个(线程) CreateFileW 断下来了(这时候另外一个打开此文件的线程是暂停状态),这时候就失败啦。。可以每次OD暂停的时候转到Thread窗口右边选择 Resume All Threads 以后再单步或者返回调试
2018-7-24 15:36
0
雪    币: 737
活跃值: (513)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
原因是creatfile打开文件失败导致的问题,这个是肯定的 但是我其他地方都不下断点,只下一个断点

断下后,什么操作也不做,马上点击运行按钮就不会出现,但是,断下后,什么操作也不做,等个3秒,再点击运行 createfile就会失败,返回错误代码32,有点想不通啊,这里
2018-7-24 16:52
0
游客
登录 | 注册 方可回帖
返回
//