小弟我需要hook掉copyFile等一些系统api函数,小弟我的钩子需要如何设置
我需要hook掉copyFile等一些系统api函数,我的钩子需要怎么设置
我想要在打开文件,读取文件,复制文件时读取一些文件信息,进行过滤。钩子类型设置为WH_CALLWNDPROC,设置钩子与所有的进程相关联(全局钩子)这样子设置可否?临时抱佛脚看了一些资料,理解的不是很好。呵呵,大家帮帮忙拉
------解决方案--------------------
用detours
我想要在打开文件,读取文件,复制文件时读取一些文件信息,进行过滤。钩子类型设置为WH_CALLWNDPROC,设置钩子与所有的进程相关联(全局钩子)这样子设置可否?临时抱佛脚看了一些资料,理解的不是很好。呵呵,大家帮帮忙拉
------解决方案--------------------
用detours
- C/C++ code
DETOUR_TRAMPOLINE(BOOL WINAPI Real_CopyFileW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists ),CopyFileW); BOOL WINAPI Replace_CopyFileW( LPCWSTR lpExistingFileName, // name of an existing file LPCWSTR lpNewFileName, // name of new file BOOL bFailIfExists // operation if file exists ) { BOOL bret=Real_CopyFileW(lpExistingFileName,lpNewFileName,bFailIfExists); return bret; } void Intercept() { DetourFunctionWithTrampoline((PBYTE)Real_CopyFileW, (PBYTE)Replace_CopyFileW); } void UnIntercept() { DetourRemove( (PBYTE)Real_CopyFileW,(PBYTE)Replace_CopyFileW); }
------解决方案--------------------
《Windows应用程序捆绑核心编程》中有个封装好的类,也有例子。如果急用就先用它。以后再看原理