测试APIHOOK是否有bug!
1.使用MessageBox函数失败,因为bugtest已经有关于user32.dll的函数了,
已经处理过了,试试没有的系统dll,如shell32.dll
2.使用ShellAboutW函数
BugTest.exe动态载入Shell32.dll,并使用GetProcAddress取得ShellAboutW的
地址,调用它,没有被hookdll.dll拦截到!!
而explorer.exe的ShellAboutW却被拦截到了!
关键问题是:
explorer.exe早于hookexe.exe启动,而BugTest.exe是在hookexe.exe之后启动!!
这就是bug!!
产生bug的根本原因就是explorer是动态加载,FixupNewlyLoadedModule函数(APIHOOK)
只处理了新模块的IAT,而当新模块里就是我们要拦截的API时,就无能为力了,因为
APIHOOK不能修改OAT(输出地址表,呵呵)!
注意刚刚说的"只处理了新模块的IAT",假如此时使用GetProcAddress的话,GetProcAddress将被拦截,.....也应该能拦截到的啊!,不行了,太困了明天再想吧
,为什么会出现bug呢?
经测试发现已经进入GetProcAddress,但是CAPIHOOK链表中没有和它地址一样的!!
而且explorer.exe的ShellAboutW并不是由GetProcAddress得到的,好像和静态加载一样!
说明一旦Shell32.dll被exe调用。。。不对啊,explorer.exe是怎么搞的?
explorer.exe好像时而加载,时而卸载Shell32.dll
唉,不管它了,只要能拦截就行了!
修改代码如下:
//***************************
HMODULE hMod=NULL;
hMod=LoadLibraryA(pszCalleeModName);
//GetModuleHandleA(pszCalleeModName),LoadLibraryA(pszCalleeModName)的区别是什么?
//try!
m_pfnOrig = GetProcAddressRaw(
hMod,m_pszFuncName);
FreeLibrary(hMod);
//***************************
我觉得GetModuleHandleA和LoadLibraryA在某些时候是不一样的!!!尤其是在Shell32.dll面前!!
12:27 2005-6-17
这个版本没有拦截LoadLibraryExW,没有了二次拦截的Bug(LoadLibraryExW无限递归),但是同时使调用LoadLibraryExW的库无法被拦截到!!根除二次拦截的Bug!
9:08 2005-6-20
不仅是调用LoadLibraryExW的库,其他LoadLibrary的dll,只要是在DllMain中调用的 API都无法正确拦截到!!
即使是调用LoadLibraryExW的库,只要使用GetProcAddress调用的API或先调用函数再间接调用的API都可以拦截到!
没有合适的资源?快使用搜索试试~ 我知道了~
利用钩子函数,截获任何弹出的消息框MessageBox
共35个文件
h:11个
cpp:6个
ico:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 163 浏览量
2021-01-02
18:38:43
上传
评论 1
收藏 62KB RAR 举报
温馨提示
利用钩子函数,截获任何弹出的消息框MessageBox 截获所有弹出的消息框
资源推荐
资源详情
资源评论
收起资源包目录
钩任何MessageBox的程序HookBug.rar (35个子文件)
HookAPI
BugDll
bug.def 15B
StdAfx.cpp 293B
BugDll.h 619B
StdAfx.h 802B
BugDll.cpp 678B
BugDll.dsp 3KB
HookBug.dsw 1KB
HookDll
读我.txt 68B
APIHook.cpp 10KB
HookDll.cpp 4KB
HookDll.dsp 3KB
APIHook.h 2KB
StdAfx.h 932B
HookDll.h 691B
HookExe
HookExe.dsp 3KB
resource.h 785B
small.ico 318B
StdAfx.h 936B
hookexe.rc 3KB
hookexe.cpp 5KB
hookexe.h 329B
hookexe.ico 1KB
BugTest
BugTest.ico 1KB
BugTest.rc 3KB
resource.h 785B
BugTest.h 329B
BugTest.cpp 5KB
small.ico 318B
StdAfx.h 936B
BugTest.dsp 3KB
ReadMe.txt 2KB
Release
BugDll.dll 28KB
HookDll.dll 36KB
BugTest.exe 28KB
hookexe.exe 28KB
共 35 条
- 1
资源评论
- a巴a巴2021-11-02用户下载后在一定时间内未进行评价,系统默认好评。
- rock07232023-03-07资源内容详实,描述详尽,解决了我的问题,受益匪浅,学到了。
- qq_362803392021-09-06用户下载后在一定时间内未进行评价,系统默认好评。
lj_70596
- 粉丝: 98
- 资源: 3924
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功