pwpwpw123
驱动牛犊
驱动牛犊
  • 注册日期2004-01-26
  • 最后登录2007-08-20
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1000回复:1

hook函数出了点问题

楼主#
更多 发布于:2004-12-06 16:36
ULONG *func; //func是原始函数的地址

......

((NTSTATUS NTAPI)func)(...);//这么调用不对啊,一直报错
warning C4229: anachronism used : modifiers on data are ignored
error C2064: term does not evaluate to a function
应该怎么用?
liwashington
驱动小牛
驱动小牛
  • 注册日期2004-04-30
  • 最后登录2010-10-21
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望98点
  • 贡献值1点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-06 17:46
函数类型转换好像不大对吧。你按下面方法试试:
//原函数声明
extern NTSYSAPI NTSTATUS NTAPI
ZwClose(IN HANDLE  Handle);

//定义类型标识
typedef NTSYSAPI NTSTATUS
(*PFNZWCLOSE)(IN HANDLE Handle);

//Hook函数声明
NTSTATUS NTAPI
HookZwClose(IN HANDLE Handle);

//指针定义
extern PFNZWCLOSE pfnRealZwClose;

//源文件中调用
status = ((PFNZWCLOSE)pfnRealZwClose)(Handle);
...
我只想有个好老婆,每天有几顿好饭吃……
游客

返回顶部