我照着例程写了个MessageBox的钩子。自己写的Loader里加的测试可以钩进去(A族和W族都可以)
系统用到MessageBox的比如记事本(目前好像只发现这个可以钩进去),但其它的(比如WORD,写字板等等)都不行,更头痛的是自己另写的一个用MessageBoxA和MessageBoxW的测试程序也都钩不进去。
哪位达人能不能说说看可能是什么问题啊。我装了卡巴后测试的时候已经把它暂停保护了。
系统用到MessageBox的比如记事本(目前好像只发现这个可以钩进去),但其它的(比如WORD,写字板等等)都不行,更头痛的是自己另写的一个用MessageBoxA和MessageBoxW的测试程序也都钩不进去。
哪位达人能不能说说看可能是什么问题啊。我装了卡巴后测试的时候已经把它暂停保护了。
解决方案 »
- 如何在CMFCCaptionBar添加多个按钮?
- 关于界面间数据传递
- 重载OnCtlColor无法编译
- TCP/IP server端 KEEPALIVE 心跳程序 ,出错,问题在哪里?高手进,谢谢~
- 知道句柄 怎么判断该句柄所在控件是否有焦点! 谢谢大家!
- 用VC++如何实现并口编程?
- VC有没有和delphi里的DCPCrypt加密解密控件集??我想要里面的bolwfish的加密解密控件
- VB调用dll(vc)出错,急,在线等!!
- 高分急救COM串口通信ActiveX控件
- 请问如何改变按钮的背景色?
- 求教如何使用CEditView中的CEdit控件实现输入输出?
- 急求:::为什么我的MDI新建之后,运行出现的不是mainframe!!!
我是照着例程写的API钩子,一个DLL,包含了对MessageBoxW和MessageBoxA的重载,LOADER里面加的MessageBoxW和MessageBoxA可以正确的显示出替换的信息,notepad也可以。但其它的就行了,包括自己另写的的一个包含MessageBoxW和MessageBoxA调用的程序显示的还是原来的信息,不是替换的信息,类似于:
DLL中定义的
myMessageBoxW(...)
{
MessageBox(,,"MY",)
}
myMessageBoxA(...)
{
MessageBox(,,"MY",)
}
notepad钩住后用到MessageBox的时候显示
MessageBox(,,MY",);
但其它的程序包括自己写的测试程序显示:
MessageBox(,,,,);
也就是说其它的程序没有钩进去,但notepad显示的却是钩进去了,为什么有的程序钩进去了有的却不行呢?
谢谢啊,多看代码永远是最正确的方法。