首页
社区
课程
招聘
修复BladeAPIMonitor3.8.6.8中UnSpy Selected Function时若UnSpy的函数为正被高频调用的函数时,进程及被调试进程卡死的BUG
发表于: 2016-5-14 08:29 12259

修复BladeAPIMonitor3.8.6.8中UnSpy Selected Function时若UnSpy的函数为正被高频调用的函数时,进程及被调试进程卡死的BUG

2016-5-14 08:29
12259
BladeAPIMonitor是什么请参考http://bbs.pediy.com/showthread.php?t=142904
卡死的原因是 主(UI)线程中调用了EnterCriticalSection,而TreeView窗口又因为被hook的函数被高频调用,而一直收到添加该函数调用记录的消息,而导致这个临界代码段无法进入,无法进入就会一直等待,无法响应窗口消息,该临界代码段就不会被释放。进而造成了死锁。
所以我们需要将主线程调用EnterCriticalSection的地方改成MsgWaitForMultipleObjects,同时等待窗口消息和临界代码段的信号对象,主要就是这样子。还有就是UnSpy Selected Function时暂停被调试进程的运行有助于使BladeAPIMonitor的主线程的消息队列尽快为空,加快等待临界段完成,UnSpy Selected Function函数执行完成后再恢复被调试进程运行,所以这里还需要用到NtSuspendProcess,NtResumeProcess就是这样,完美修复了。
已破解的程序及修复补丁文件见附件。
源程序下载地址:
http://download.cnet.com/Blade-API-Monitor/3000-2094_4-10972830.html

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 209
活跃值: (839)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2016-5-14 12:56
0
雪    币: 6499
活跃值: (3117)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
可惜需要安装才行。。绿色运行还不行。。。。
2016-5-17 20:45
0
雪    币: 4324
活跃值: (4838)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
是需要安装的,至于要绿色,你可以研究下。
2016-5-17 22:35
0
游客
登录 | 注册 方可回帖
返回
//