EIP和目标地址的关系
2015-10-02 15:46
288 查看
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); } }
相关文章推荐
- UVA 11177 凸多边形和圆交
- 查找二叉树
- SQL常用命令
- HDU - 1200 To and Fro(水)
- 数据库的优化
- 枚举类型的基本用法
- Matlab基础知识
- Extjs4.2 model关联读复杂XML
- 面试题22:栈的压入、弹出序列
- vfork http://blog.csdn.net/tennysonsky/article/details/45847107
- BZOJ 3531 旅行【树链剖分】
- 数据库最最常用语句(10年工作笔记)
- java抽象类
- 如何在Linux上使用netstat命令查证DDOS攻击
- android布局属性大全
- 安卓控件使用系列12:CheckBox复选框控件的使用
- 轮廓线动态规划问题
- swift闭包
- iOS 多线程实例(NSThread售票窗口的模拟)
- web前端性能优化