JMP指令转换公式推导
来源:互联网 发布:七月七的爱恋网络歌手 编辑:程序博客网 时间:2024/06/06 08:55
看完郁金香第020课总结:
同样的一句指令 JMP 88881234在不同位置有以下现象
找规律:
88881234 - 010073bb = 87879E79
88881234 – 010073c0 = 87879E74
88881234 – 010073c5 = 87879E6F
因为机器码 如E9 749e8787 是按字节排列的所以87879E74显示出来是749e8787
所以可得以下公式
JMP的地址(88881234) – 代码地址(010073bb) – 5(字节) = 机器码跳转地址(E9 87879e74)
typedef struct _JMPCODE
{
BYTE E9;
ULONGJMPADDR;//88881234=B
}JMPCODE,*PJMPCODE
应用:
跳过ssdt_hook
例如:NtOpenProcess 被hook 真正的地址为 0xAAAAAAAA(old) ,hook之后的地址为0xBBBBBBBB(cur)。
那么我们可以修改0xBBBBBBBB里的内容,内容为一条JMP指令。以达到绕过ssdt_hook的目的。
//jmp结构typedef struct _JMPCODE{ BYTE E9; ULONGJMPADDR;//88881234=B}JMPCODE,*PJMPCODE//定义jmp结构JMPCODE JCode;JCode.E9=0xE9; //jmp机器码JCode.JMPADDR=cur-old-5;//计算JMP 后面的数值_asm{ mov ebx,cur //取当前地址 lea ecx,Jcode //取结构地址 mov ax,byte ptr [ecx] Mov byte ptr[ebx],ax //写jmp mov eax,[ecx+1] //移动指针 mov [ebx+1],eax //写跳转}
出处:http://www.cnblogs.com/zhangdongsheng/
作者:张东升 QQ:290387340
0 0
- JMP指令转换公式推导
- JMP指令转换公式推导
- JMP指令转换公式推导
- JMP地址公式推导
- JMP地址公式推导
- JMP CALL 二进制指令计算公式
- jmp指令
- JMP指令
- jmp指令
- jmp 指令
- jmp指令
- JMP指令
- 罗德里格斯转换公式推导
- 公式推导
- Jmp指令的格式
- jmp指令用法
- jmp指令用法
- 汇编学习--jmp指令
- 田蕴章书法讲座《每日一题,每日一字》(2) 文字整理 ——火字、必字与书法笔顺
- can 转usb【can-usb】【usb can转换】
- opensuse安装gnome怀旧界面
- Kinect v2.0原理介绍之十三:面部帧获取
- linux服务器启动系统提示welcome to emergency mode! after logging in type...
- JMP指令转换公式推导
- JavaScript继承
- 【Java线程】Java线程池ExecutorService
- Spring使用xml配置bean,主要是constructor-arg
- ssdt 表结构及hook的一般理解
- HTML 限制文本框只能输入数字
- 蓝牙结构
- CGlib 入门
- MDM设备管理编程中遇到的一些问题