先简单说下原理:hook,即野蛮地借用jmp等指令钩住目标函数,修改运行路径使其执行我们自己的代码。方法是在指定进程中的内存里找到目标函数的地址,然后修改其首地址的前几字节为jmp指令,指向我们自己的自定义函数地址。这样,进程执行这个函数的时候,会先执行我们自己的代码,之后可以选择性执行原函数或不执...
分类:
其他好文 时间:
2015-05-22 01:45:28
阅读次数:
174
一、 直接转移(far call及 far jmp)直接转移通过执行一条 call 或 jmp指令,在段内转移不需selector近跳转,段间转移通过selector(不带gate或 tss)远跳转,CPL不改变。权限检查的4个要素:★ CPL:当前运行级别(也就是CS.CPL)★ RPL:门符选择...
分类:
其他好文 时间:
2015-02-02 17:53:15
阅读次数:
212
摘要:虽然jmp指令提供了控制转移,但是它不允许进行任何复杂的判断。80x86条件跳转指令提供了这种判断。条件跳转指令是创建循环和实现其他条件执行语句,如if…endif的基本要素。条件跳转指令检查一个或多个标志位,判断它们是否匹配某个特殊条件(就像setcc指令):如果标志匹配成功,该指令就将控制...
分类:
编程语言 时间:
2014-11-25 23:23:30
阅读次数:
286
原文地址: http://www.cnblogs.com/dennisOne?8086CPU转移指令分类无条件转移指令(如:jmp)条件转移指令循环指令(如:loop)过程中断 ?操作符offsetoffset在汇编语言中是由汇编器处理的符号,它的功能是取标号的偏移地址。 ?jmp指令类型功能示例j...
分类:
编程语言 时间:
2014-10-07 13:42:53
阅读次数:
183
对于jmp指令:(1)jmpshort标号相当于(ip)=(ip)+8位位移跳转范围是【-128,127】(2)jmpnearptr标号相当于(ip)=(ip)+16位位移跳转范围是【-32768,32767】(3)jmpfarptr标号相当于(CS)=标号所在段地址,(ip)=标号所在偏移地址前两...
分类:
其他好文 时间:
2014-07-27 21:45:05
阅读次数:
207
上一篇介绍了设置显示器高分辨率的方法。本篇讲一下操作系统实现多任务的方法。操作系统利用CPU的far模式的JMP指令、寄存器TR、GDT、TSS和PIT中断这些功能实现了多任务,可见CPU在设计时就考虑到了计算机要具有多任务处理的能力。也就是说,CPU、PIC等硬件支持什么功能,操作系统才能实现什么...
分类:
其他好文 时间:
2014-06-22 23:30:24
阅读次数:
369
#include#include// 自己构造mov指令更改变量值int
val,address;char *func() //构造mov addr,val指令 与jmp指令{ char
*code,*pMov,*pAddr,*pJmp; code=(char *)malloc(1...
分类:
其他好文 时间:
2014-05-25 19:13:58
阅读次数:
187