wangyangkkx
驱动牛犊
驱动牛犊
  • 注册日期2009-12-30
  • 最后登录2011-07-08
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望431点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1787回复:2

请教一个宏的意思

楼主#
更多 发布于:2010-07-07 12:22
#define GetSystemFunc(FuncName) KeServiceDescriptorTable.ServiceTableBase[*(PULONG)((PUCHAR)FuncName+1)]
为什么这个宏在获取函数地址的时候要加1呢?谢谢
BuShiXiaoHaiZi
驱动牛犊
驱动牛犊
  • 注册日期2008-12-20
  • 最后登录2012-04-22
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望531点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-07-07 12:34
lkd> u ZwCreateFile
nt!ZwCreateFile:
804ff08c b825000000      mov     eax,25h
804ff091 8d542404        lea     edx,[esp+4]
804ff095 9c              pushfd
804ff096 6a08            push    8
804ff098 e804f40300      call    nt!KiSystemService (8053e4a1)
804ff09d c22c00          ret     2Ch

=============================================
你看看25h的位置就知道了
wangyangkkx
驱动牛犊
驱动牛犊
  • 注册日期2009-12-30
  • 最后登录2011-07-08
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望431点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-07 17:58
回 1楼(BuShiXiaoHaiZi) 的帖子
谢谢了 明白
游客

返回顶部