【C】C语言写的针对Win32的Inline Hook程序
两个文件:Hooker.c和Hooker.h包含Hooker.h,编译链接Hooker.c就能使用功能。
用法:
1、定义变量:
HookedFn foo={0};
2、初始化:
HookInit(&foo,要Hook的函数地址,你的函数的地址);
3、Hook!
HookFunc(&foo);
4、Unhook
UnhookFunc(&foo);
声明部分:
Hooker.h://=============================================================================
//作者:0xAA55
//论坛:http://www.0xaa55.com/
//版权所有(C) 2013-2014 技术宅的结界
//请保留原作者信息,否则视为侵权。
//-----------------------------------------------------------------------------
#ifndef _HOOKER_
#define _HOOKER_
#pragma pack(push,1)
typedef struct
{
void *pOrgFunc; //原始函数的位置
void *pNewFunc; //新函数的位置
unsigned char bSavedBytes; //保存的字节
}HookedFn,*HookedFnP;
typedef struct
{
unsigned char bJumpIns;
int lOffset;
}JumpIns,*JumpInsP;
#pragma pack(pop)
void HookInit(HookedFnP pData,void*pOrgFunc,void*pNewFunc);//初始化HookedFn结构体。调用前HookedFn必须被清零
void HookFunc(HookedFnP pData);//进行inline Hook
void UnhookFunc(HookedFnP pData);//恢复原始函数
#endif下载:
实现部分:回帖后可见
Hooker.c:**** Hidden Message ***** 强大:):) 看看代码... 思路都差不多吧 最近在琢磨hook.来学校理解一下 牛逼啊
!!
········ KeVin゛ 发表于 2015-12-21 13:52
········
不要水帖好吗? 看下thx
这个还像那么回事 大撒达娃大撒达娃大撒大撒 回帖后可见 回帖后可见 学习一下 可以, 想试用一下看效果{:4_89:}
页:
[1]