阅读:1535回复:1
求助 关于inlinehook
请问
BYTE JmpAddress[5]={0xE9,0,0,0,0}; *(ULONG *)(JmpAddress+1)=(ULONG)MyObReferenceObjectByHandle-((ULONG)ObReferenceObjectByHandle+5); 为什么是保存新函数五个字节之后偏移?函数名不是代表函数的首地址吗?两个不同的函数名相减之后是两者之间的距离,为什么是新函数五个字节之后偏移? 另外,向数组赋值的方式也很奇怪JmpAddress+1不应该是数组的第一个元素吗?不就是0xe9?请高手帮忙看看 谢谢 |
|
沙发#
发布于:2010-06-22 16:15
执行完jmp后eip会后移5BYTES,JmpAddress+1 是后移一byte,即0,0,0,0
|
|