EIP和目标地址的关系

来源:互联网 发布:排序算法详解 编辑:程序博客网 时间:2024/05/22 05:05
E9指令就是JMP指令EIP+E9指令后的偏移量=目标地址EIP=当前地址(E9指令地址)+加上当前代码长度(字节)(E9指令长度)=下一个执行代码的地址偏移量=目标地址-(E9指令地址+E9指令长度)=目标地址-E9指令地址-E9指令长度例:void HookAllAttack(){  LPVOID adr = (LPVOID)0x0063011F;  DWORD offset = (DWORD)IsAttack - (DWORD)adr - 5;  BYTE code[5];  code[0]=0xe9;//jmp  *PDWORD(code + 1) = offset;  DWORD oldprotect;  if(VirtualProtect(adr,5,PAGE_EXECUTE_READWRITE,&oldprotect))  {    memcpy(adr,code,5);    VirtualProtect(adr,5,oldprotect,&oldprotect);  }}

0 0
原创粉丝点击