急:Hook Windows API的问题
最近做一个文件保护的小东东,我用Hook API实现,现在遇到一个问题是有一些API无法Hook,比如Shell32.dll里的SHFileOperation,据说这个dll在系统启动的时候被保护了的,但是在网上查到很多商业源码都可以做到,不知道哪位大虾知道他们是怎么实现的呢?
另一个更为奇怪的问题是,我可以Hook到Ole32.dll里的OleSetClipboardData,但是却Hook不到其它的函数如StgOpenStorage,万望各位大虾不吝赐教。
问题点数:200、回复次数:14Top
1 楼orbit(走了走了)回复于 2005-07-19 18:31:59 得分 80
对于SHFileOperation,分别试试SHFileOperationW和SHFileOperationA,分别时unicode版本和ansi版本
对于StgOpenStorage,试试StgOpenStorageA
在windows 2000/NT下试试hook StgOpenStorageExTop
2 楼tide(水手辛巴德)回复于 2005-07-19 18:48:46 得分 10
-_-!Top
3 楼domustdohz(迷茫)回复于 2005-07-19 18:50:46 得分 10
关注Top
4 楼AntonlioX(做人要厚道)回复于 2005-07-19 19:04:17 得分 10
帮你顶Top
5 楼stoneyrh()回复于 2005-07-19 19:18:01 得分 0
SHFileOperation的两个版本都在测试,没有一个有效的。StgOpenStorageA还没有试过,StgOpenStorageEx也在测试,也没有作用,不知道原因。Top
6 楼ForTopLevel(Beahead)回复于 2005-07-19 20:22:41 得分 10
是找不到这个函数的入口地址呢,还是改不了,改了之后报错还是又被自动的改回来?dll都不会加载到系统内核的,照你这样说,可能一般的文件读写函数无法访问,你需要更底层的访问函数去修改。Top
7 楼stoneyrh()回复于 2005-07-19 20:50:04 得分 0
能找到入口地址,应该是改不了,也没有报错。一切都很正切,但是进不了我的函数。其它的比如CreateFileA,CreateFileW等在Kernel32.dll里的函数都工作得很好。Shell32.dll和Ole32.dll里的都有点问题,不明白为什么。Top
8 楼stoneyrh()回复于 2005-07-19 23:07:14 得分 0
现在发现一新情况:StgOpenStorage已经勾上,大概其它的也应该勾上了,这是我在打开其它的文件的时候发现的。但是对Explorer.exe却无效。我用SoftICE检测到,当在文件浏览器里剪切->复制文件时,肯定要调用StgOpenStorage,但是却进不了我的函数,对SHFileOperation*也是如此。但是当我勾上API以后,打开VC的.dsw文件时,这时就显示已经勾上StgOpenStorage了。但是现在对Explorer.exe的拦截非常重要,我觉得这是一个非常奇怪的进程。不知道MS对它作了什么特殊处理。Top
9 楼stoneyrh()回复于 2005-07-20 10:06:37 得分 0
怎么没人关注了呢?大家帮帮忙呀!!!Top
10 楼huqian2003(huqian2003)回复于 2005-07-20 11:57:54 得分 10
顶一下Top
11 楼ForTopLevel(Beahead)回复于 2005-07-20 13:47:41 得分 50
你确定Explorer进程里Shell32.dll中的StgOpenStorage等函数地址被你修改了?如果你修改了还是不能转到自己的地址去执行,那只能说明MS把这个地址恢复了。Top
12 楼stoneyrh()回复于 2005-07-21 16:14:39 得分 0
这个是在Ole32.dll中的。我检查到对Explorer进程的修改,大部份失败。Top
13 楼lianggj(aaaa)回复于 2005-09-09 17:03:06 得分 10
我也想知道怎么实现对文件操作的拦截啊,也就是拦截对文件操作的所有apiTop
14 楼dbaren(王)回复于 2005-09-11 21:32:33 得分 10
关注Top
相关问题
- "Hook API"
- 请教api hook(api hook by LiuYang)!
- Api Hook 问题!!!!!!!!!!!!!!!!!!!!!!!!
- api hook 的问题
- API HOOK delphi转C++
- HOOK API的问题
- API HOOK 问题 很急阿 帮帮忙! 只有50 分了
- !!挑战windows API大师:怎样在控件里实现Subclass和hook的引用?
- hook api的问题 急急急急急急急急急急急急急急急急急急急急急急急急急急
- 【急问SOS!!!】我写了一个API HOOK。被HOOK的函数是SetWindowHookExA。运行后能正常HOOK住这个API。但是后来... ..




