设置环境:
第一步:打开EasyHookDll属性页设置配置类型,生成EasyHookDll.lib文件
第二部:在C:\WINDOWS\system32路径中添加EasyHook32.dll文件
环境设置好后开始我们的EasyHook之旅。
用EasyHook来给API函数挂钩确实是方便了很多,下面通过分析给SetClipboardDate挂钩来阐述easyhook的使用方法。
主要分为3个步骤:
1.定义钩子类型
ypedef int (WINAPI *SetClipboardData_type)
(
__in UINT uFormat,
__in_opt HANDLE hMem
);
SetClipboardData_type RealSetClipboardDate = NULL;
2.定义我们自己的钩子要做的事情
void WINAPI mySetClipboardData(
__in UINT uFormat,
__in_opt HANDLE hMem
)
{
//要做的事
(RealSetClipboardDate)(uFormat,hMem);//函数正常运行
//return;//直接返回着屏蔽函数功能
}
3.安装钩子
statue = LhInstallHook(RealSetClipboardDate,mySetClipboardData,NULL,hHookSetClipboardData);
LhSetExclusiveACL(HookSetClipboardData_ACLEntries,1,hHookSetClipboardData);