关于拦截VB中的MsgBox

原先不知道, 从网上看到人家都说MsgBox最终调用的是MessageBox(A/W)。 但是事实证明(我拦截了N次MessageBox,然而都是以失

 

败告终),这是错的。 不知道是本人愚钝,在哪个过程出错,还是什么其他问题。最终没办法,只有自己亲自动手去验证它。

 

首先写一个最简单的VB程序调用MsgBox的小例子,通过OllyDbg载入它(test.exe),再一步一步跟进去。经过分析,大致过程是这样的

 

 

载入test.exe  --> 形成在内存中的映像 test.exe  --> 找到MSVBVM60.DLL模块 --> 调用rtcMsgbox(其内部调用了USER32.DLL的某些函

 

 

数)-->  进入USER32.DLL的领空  --> 调用MessageBoxIndirectA  --> ...  --> PeekMessage --> ... --> ShowWindow --> ...

 

还有很多很多,这里我就不再列举了。  显然,通过这条链,我们可以作出这样一个假设:只要我拦截下MessgeBoxIndirectA的调用,同样可

 

以做到拦截MsgBox。  事实证明,这个假设是成立的。 I done ! 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值