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

求助 关于inlinehook

楼主#
更多 发布于:2010-06-22 14:14
请问
BYTE JmpAddress[5]={0xE9,0,0,0,0};      
*(ULONG *)(JmpAddress+1)=(ULONG)MyObReferenceObjectByHandle-((ULONG)ObReferenceObjectByHandle+5);
为什么是保存新函数五个字节之后偏移?函数名不是代表函数的首地址吗?两个不同的函数名相减之后是两者之间的距离,为什么是新函数五个字节之后偏移? 另外,向数组赋值的方式也很奇怪JmpAddress+1不应该是数组的第一个元素吗?不就是0xe9?请高手帮忙看看 谢谢

BuShiXiaoHaiZi
驱动牛犊
驱动牛犊
  • 注册日期2008-12-20
  • 最后登录2012-04-22
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望531点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-06-22 16:15
执行完jmp后eip会后移5BYTES,JmpAddress+1 是后移一byte,即0,0,0,0
游客

返回顶部