mov dword ptr ds:[ebx],0xC324048B 写入数吵腔据
call ebx 顷碰如 执行写入的数据 004AAAAA 8B0424 mov eax,dword ptr ss:[esp] 保存esp(这里esp=eip)
004AAAAD C3 retn 返回
我的能力有限,不知是不是你需要的答案,祝你学习愉快!
可以这样写:code segment
assume cs:code
main proc far
start:
call ok
mov ax,4c00h
int 21h
main endp
ok proc near
pop ax
ret
ok endp
code ends
end start
在调用子程序的同时,将IP入栈用来返回调用前的地址。子程序余饥中竖闭返再将态脊入栈的IP值赋给AX,此时AX中保存的即为CALL OK的下一条指令的偏移地址。即子程序返回后IP的值。MOV等指令是无法直接改变IP值的。EIP应该同理。以上程序DEBUG通过。感觉汇编不是很容易。。要加油啊!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)