关于拦截VB中的MsgBox

关于拦截VB中的MsgBox,第1张

概述原先不知道, 从网上看到人家都说MsgBox最终调用的是MessageBox(A/W)。 但是事实证明(我拦截了N次MessageBox,然而都是以失   败告终),这是错的。 不知道是本人愚钝,在哪个过程出错,还是什么其他问题。最终没办法,只有自己亲自动手去验证它。   首先写一个最简单的VB程序调用MsgBox的小例子,通过OllyDbg载入它(test.exe),再一步一步跟进去。经过分析,

原先不知道, 从网上看到人家都说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 !

总结

以上是内存溢出为你收集整理的关于拦截VB中的MsgBox全部内容,希望文章能够帮你解决关于拦截VB中的MsgBox所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1294514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存